ホームページ >バックエンド開発 >C++ >WPF ListBox SelectionChanged イベントを ViewModel コマンドにバインドする方法

WPF ListBox SelectionChanged イベントを ViewModel コマンドにバインドする方法

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-12 22:21:44228ブラウズ

How to Bind WPF ListBox SelectionChanged Events to ViewModel Commands?

WPF ViewModel のコマンドに UI イベントをバインドします

MVVM アーキテクチャに従って、UI イベントを ViewModel に移動すると、コードのメンテナンスと拡張がより容易になります。この記事では、ListBox の SelectionChanged イベントを分離コード ファイルから ViewModel に転送する方法に焦点を当て、提供されたコード スニペットを例として使用します。

解決策

これを行うには、EventTriggerInvokeCommandAction と一緒に使用する必要があります (System.Windows.Interactivity 名前空間内):

<code class="language-xml"><ListBox ...>
  <i:Interaction.Triggers>
    <i:EventTrigger EventName="SelectionChanged">
      <i:InvokeCommandAction Command="{Binding SelectedItemChangedCommand}" />
    </i:EventTrigger>
  </i:Interaction.Triggers>
</ListBox></code>

System.Windows.Interactivity を参照

  • [参照の追加] > [アセンブリ拡張機能] を使用してアセンブリに参照を追加します。
  • 完全な名前空間を使用します: xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

追加メモ

  • Command プロパティは、ViewModel で定義されたコマンドにバインドされます。
  • このパターンは UI イベントの処理を簡素化し、懸念事項の分離を強化します。
  • 確実に実装を成功させるために、指示に従って System.Windows.Interactivity 名前空間を必ず参照してください。

以上がWPF ListBox SelectionChanged イベントを ViewModel コマンドにバインドする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。