0

簡略化した形で次のようなオブジェクトがあります。

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

次のように、「Activate」プロパティをチェックボックスにマップする 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 プロパティ グリッドコントロールからのものです。問題は、メッセージ ボックスが表示されず、メイン ウィンドウがボックスからの応答を待っていることです。通話が予想されるときにエラー通知音が聞こえますが、ダイアログは表示されません。

zオーダーを変更するWPFに何かありますか? 予期しないコンテキストで実行していますか?

4

1 に答える 1

1

getter 内にメッセージ ボックスを表示しないでください。代わりにコマンドを使用してください。

現在のウィンドウをパラメーターとして MessageBox.Show 呼び出しに渡すと、モーダルに表示されます。

于 2009-12-16T15:41:12.033 に答える