MVVM を使用して WPF でリストボックス変更イベントを実行しようとしています。このselectionchangedイベントのやり方を教えてください。
38429 次
3 に答える
35
を使用してそれを行うことができます
System.Windows.Interactivity
プロジェクトに参照を追加する- XAML で追加
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
それで
<ListBox>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding YourCommand}"
CommandParameter="{Binding YourCommandParameter}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</ListBox>
于 2012-09-06T10:03:37.623 に答える
34
SelectedItem
リストボックスのプロパティを ViewModel のプロパティにバインドします。
<ListBox SelectedItem="{Binding SelectedItem}" ...>
....
</ListBox>
プロパティには、ListBox から選択された項目が常に存在します。選択が変更されたときに本当に何かをする必要がある場合は、そのプロパティのセッターでそれを行うことができます:
public YourItem SelectedItem
{
get { return _selectedItem; }
set
{
if(value == _selectedItem)
return;
_selectedItem = value;
NotifyOfPropertyChange("SelectedItem");
// selection changed - do something special
}
}
于 2012-09-06T10:00:54.293 に答える