Pregunta

Tengo un objeto que en una forma simplificada es la siguiente:

public class MyObject
{
     public bool Activate { 
     get { MessageBox.Show("My Status"); } 
     set { Do Some Stuff }
}

Tengo un DataTemplate que los mapas de la propiedad "Activate" a una casilla de verificación, así:

<DataTemplate x:Key="ComponentResourceKey TypeInTargetAssembly={x:Type local:PropertyGrid}, ResourceId={x:Type clr:Boolean}}">
      <CheckBox IsEnabled="{Binding Path=IsWriteable}" IsChecked="{Binding Path=Value}"/>
</DataTemplate>

La plantilla es de control de la WPF propiedad de cuadrícula que estoy usando. La cuestión es que el cuadro de mensaje no se muestra la ventana principal está esperando una respuesta de la caja. Escucho el sonido de notificación de error cuando se espera que la llamada, pero no está presente ningún diálogo.

¿Hay algo en WPF que cambia el orden z? Estoy corriendo en un contexto no estoy esperando?

¿Fue útil?

Solución

Nunca se debe mostrar un cuadro de mensaje en el interior de un captador! Utilice los comandos en su lugar.

Si sale de los MessageBox.Show llaman la ventana actual como un parámetro, se debe mostrar modal.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top