So habe ich eine Listenansicht, die Postelemente anzeigt (Lieferdatum, Typ, Verfolgungsnummer usw.) und ich habe ein Kontextmenü eingerichtet, das entweder die Tracking-Website öffnet oder die Tracking-Nummer kopiert die Zwischenablage.ContextMenu basierend auf Objektbindung wpf
Was ich will ist, dass das Kontextmenü nur für Listen erscheint, die eine Tracking-Nummer haben. Ich habe die Idee, die Sichtbarkeit des Kontextmenüs zu ändern, aber es ist die Bindung an die Tracking-Nummer, mit der ich Probleme habe.
<ContextMenu x:Key="MyElementMenu">
<MenuItem Header="Track Item" Click="MenuItem_Click"></MenuItem>
<MenuItem Header="Copy to Clipboard" Click="MenuItem_CopyToClipboard"></MenuItem>
</ContextMenu>
<!--Sets a context menu for each ListBoxItem in the current ListBox-->
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="ContextMenu" Value="{StaticResource MyElementMenu}"/>
</Style>
Dies ist, was ich derzeit habe.
Haben Sie versucht, einen Konverter zu verwenden? –
Ich denke, ContextMenu würde erscheinen, wenn Sie mit der rechten Maustaste auf das ListViewItem klicken. Warum also nicht das Rechtklick-Ereignis verwenden und sehen, ob das angeklickte Element die Verfolgungsnummer-Eigenschaft hat und dann das Kontextmenü ein- oder ausblenden. – Ahmar
Dies könnte https://stackoverflow.com/questions/21939667/nulltovisibilityconverter-make-visible-if-not-null helfen – hoodaticus