WPF MessageBoxes и DataTemplates - PullRequest
       9

WPF MessageBoxes и DataTemplates

0 голосов
/ 16 декабря 2009

У меня есть объект, который в упрощенном виде выглядит следующим образом:

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

У меня есть DataTemplate, который отображает свойство «Активировать» на флажок следующим образом:

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

Шаблон взят из Сетки свойств WPF , который я использую. Проблема в том, что окно сообщения никогда не отображается, а главное окно ожидает ответа от окна. Я слышу звук уведомления об ошибке, когда ожидается вызов, но диалог отсутствует.

Есть ли в WPF что-то, что изменяет z-порядок? Я бегу в контексте, которого я не ожидаю?

1 Ответ

1 голос
/ 16 декабря 2009

Вы никогда не должны показывать окно сообщения внутри геттера! Вместо этого используйте команды.

Если вы передаете MessageBox.Show, вызываете текущее окно в качестве параметра, оно должно отображаться модально.

...