Mam ListView
i chcę skonfigurować menu kontekstowe, które można otworzyć nie tylko po kliknięciu prawym przyciskiem myszy jakiegoś tekstu w kolumnie, ale w dowolnym miejscu na ListViewItem
, do zrobienia więc pomyślałem, że właśnie ustawię mój ContextMenu
za pomocą ustawnika stylu, ponieważ nie mogę uzyskać bezpośredniego dostępu do ListViewItem
.Ustawianie procedur obsługi zdarzeń wewnątrz struktury Setter.Value
Niestety podczas próby zrobić to w ten sposób, że nie będzie skompilować:
<Style TargetType="ListViewItem">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="Header" Click="Handler"/>
...
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
Error 102 'Handler' nie jest poprawny. "Kliknij" nie jest zdarzeniem na "System.Windows.Controls.GridView".
Pomyślałem, że można tego uniknąć, używając EventSetter
dla Click
-event. Ale jest oczywiste, że kod jest dość zawyżony ze wszystkich potrzebnych znaczników zawijania.
Moje pytanie brzmi, czy istnieje pewne obejście problemu, więc nie musisz zajmować się EventSetters
.
Edit: Zobacz this question o wyjaśnienie, dlaczego na występuje ten błąd.
Dobry pomysł! Dzięki. –