私はListView
を持っています。私はコンテキストメニューをいくつかの列のテキストを右クリックするだけでなく、ListViewItem
のどこかで右クリックするだけでなく、だから私はContextMenu
スタイルセッターを使用して設定したと思った。ListViewItem
に直接アクセスすることはできない。Setter.Value構造体内にイベントハンドラを設定する
残念ながらあなたはそれがコンパイルされません。このようにそれをしようとすると:
<Style TargetType="ListViewItem">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="Header" Click="Handler"/>
...
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
エラー102「ハンドラ」は有効ではありません。 'クリック'は、 'System.Windows.Controls.GridView'のイベントではありません。
私はClick
-eventにEventSetter
を使用することでこれを回避できると考えていました。しかし、コードが必要なすべてのラッピングタグからかなり膨らんでいることは明らかです。
私はいくつかの回避策があるので、EventSetters
に対処する必要はありません。
編集:このエラーが発生する理由に説明のためのthis questionを参照してください。
良いアイデア!ありがとう。 –