オブジェクト バインディング wpf に基づく ContextMenu

ラスニコルズ

そのため、投稿項目 (配達日、タイプ、追跡番号など) を表示するリスト ビューがあり、追跡 Web サイトを開くか、追跡番号をクリップボードにコピーするコンテキスト メニューを設定しています。

私が欲しいのは、追跡番号のあるリストアイテムにのみコンテキストメニューが表示されるようにすることです。コンテキスト メニューの可視性を変更するアイデアはありますが、これは問題のある追跡番号へのバインドです。

<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>

これが私が現在持っているものです。

ジンジャー・ニンジャ
<MyControl.Resources>       
    <BooleanToVisibilityConverter x:Key="BoolToVis"/>
</MyControl.Resources>

<!--Sets a context menu for each ListBoxItem in the current ListBox-->
<Style TargetType="{x:Type ListViewItem}">
  <Setter Property="ContextMenu">
    <Setter.Value>
      <ContextMenu IsEnabled="{Binding HasTrackingNumber}" Visibility="{Binding HasTrackingNumber, Converter={StaticResource BoolToVis}">
        <MenuItem Header="Track Item" Click="MenuItem_Click"></MenuItem>
        <MenuItem Header="Copy to Clipboard" Click="MenuItem_CopyToClipboard"></MenuItem>
      </ContextMenu>
    </Setter.Value>
  </Setter>  
</Style>

これにより、必要なものが得られるはずです。ContextMenu を他の場所で使用するかどうかはわかりませんが、使用しない場合は、ListViewItem スタイルのスタイルでいつでも設定できます。その後、他の場所から参照する必要はありません。いずれにせよ、アイテムから Binding を追加することについての詳細です。ListItem Viewmodel では、次のようなものを追加できます。

public bool HasTrackingNumber => TrackingNumber == 0 || TrackingNumber == null;

(追跡番号のタイプがわからないので、独自のロジック チェックを実行して、有効な追跡番号が「ある」かどうかを確認できます)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

WPF ContextMenu IsChecked バインディング

分類Dev

WPFバインディングオブジェクトをテンプレートに

分類Dev

WPFバインディング、常に新しいオブジェクトを作成します

分類Dev

MVVMでのコンボボックス選択に基づくC#WPFデータバインディングチェックボックス

分類Dev

ContextMenuへのWPFバインディングコマンド

分類Dev

プロパティに基づくWPFバインディングCombobBoxItem

分類Dev

ある条件に基づくバインディングモード WPF

分類Dev

Django: 既存のオブジェクトに基づくモデル

分類Dev

メディアクエリに基づくvueバインディング値

分類Dev

WPF TreeViewItem Contextmenuコマンドバインディングが機能しない

分類Dev

バッキングオブジェクトがNULLの場合のWPF条件付きバインディング

分類Dev

WPF。バインディングオブジェクトからのフィードバック

分類Dev

WPFマルチバインディングコンバータオブジェクトタイプ

分類Dev

デバッグ情報なしでオブジェクトをコントロールクラッシュにバインドするWPF

分類Dev

オブジェクト値に基づく火災イベント

分類Dev

オブジェクトをWPFのDataTriggerにバインドする

分類Dev

オブジェクトをWPFのDataTriggerにバインドする

分類Dev

変数に基づくオブジェクトのスケーリング

分類Dev

特定の条件に基づくWPFバインディング...完全にXamlを使用して実行する

分類Dev

別のモデルに基づくオブジェクトのフィルタリング

分類Dev

クリックされたMenuItemバインディングオブジェクトWPFを取得します

分類Dev

データを通信しない.NETオブジェクトとのWPFバインディング

分類Dev

MainWindowクラス内で作成されたオブジェクトへのWPFバインディング

分類Dev

オブジェクトバインディングで最初に0を失う

分類Dev

子プロパティに基づく注文リスト<オブジェクト>

分類Dev

パイプを使用したオブジェクトの配列に基づくオブジェクトのAngular2フィルタリング配列

分類Dev

C#WPF MVVMCaliburm-`GradientStops`を動的にマイクロバインディング

分類Dev

Thymeleaf-オブジェクトプロパティの値に基づく条件付きレンダリング

分類Dev

オブジェクトプロパティに基づくオントロジーツリービュー

Related 関連記事

  1. 1

    WPF ContextMenu IsChecked バインディング

  2. 2

    WPFバインディングオブジェクトをテンプレートに

  3. 3

    WPFバインディング、常に新しいオブジェクトを作成します

  4. 4

    MVVMでのコンボボックス選択に基づくC#WPFデータバインディングチェックボックス

  5. 5

    ContextMenuへのWPFバインディングコマンド

  6. 6

    プロパティに基づくWPFバインディングCombobBoxItem

  7. 7

    ある条件に基づくバインディングモード WPF

  8. 8

    Django: 既存のオブジェクトに基づくモデル

  9. 9

    メディアクエリに基づくvueバインディング値

  10. 10

    WPF TreeViewItem Contextmenuコマンドバインディングが機能しない

  11. 11

    バッキングオブジェクトがNULLの場合のWPF条件付きバインディング

  12. 12

    WPF。バインディングオブジェクトからのフィードバック

  13. 13

    WPFマルチバインディングコンバータオブジェクトタイプ

  14. 14

    デバッグ情報なしでオブジェクトをコントロールクラッシュにバインドするWPF

  15. 15

    オブジェクト値に基づく火災イベント

  16. 16

    オブジェクトをWPFのDataTriggerにバインドする

  17. 17

    オブジェクトをWPFのDataTriggerにバインドする

  18. 18

    変数に基づくオブジェクトのスケーリング

  19. 19

    特定の条件に基づくWPFバインディング...完全にXamlを使用して実行する

  20. 20

    別のモデルに基づくオブジェクトのフィルタリング

  21. 21

    クリックされたMenuItemバインディングオブジェクトWPFを取得します

  22. 22

    データを通信しない.NETオブジェクトとのWPFバインディング

  23. 23

    MainWindowクラス内で作成されたオブジェクトへのWPFバインディング

  24. 24

    オブジェクトバインディングで最初に0を失う

  25. 25

    子プロパティに基づく注文リスト<オブジェクト>

  26. 26

    パイプを使用したオブジェクトの配列に基づくオブジェクトのAngular2フィルタリング配列

  27. 27

    C#WPF MVVMCaliburm-`GradientStops`を動的にマイクロバインディング

  28. 28

    Thymeleaf-オブジェクトプロパティの値に基づく条件付きレンダリング

  29. 29

    オブジェクトプロパティに基づくオントロジーツリービュー

ホットタグ

アーカイブ