【发布时间】:2013-10-28 15:48:10
【问题描述】:
我想在我的列表视图中添加一个命令。单击一个项目时,我想执行我的relayCommand。 现在我有了这些解决方案,它可以工作,但我认为它不是 MVVM :)
<ListView ItemsSource="{Binding Taxons}" IsItemClickEnabled="True" ItemClick="ListViewBase_OnItemClick">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
代码背后:
private void ListViewBase_OnItemClick(object sender, ItemClickEventArgs e)
{
viewModel.TreeItemSelected.Execute(((Taxon)e.ClickedItem).Name);
}
我想在没有任何代码的情况下使用这种方式,但是 VS 告诉我这是不可能的:
<ListView ItemsSource="{Binding Taxons}" IsItemClickEnabled="True" ItemClick="{Binding TreeItemSelected}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我使用以下额外的 dll-s,但如果可能的话,我不想安装任何其他东西。 GalaSoft.MvvmLight.Extras.Win8 GalaSoft.MvvmLight.Win8
你能给我建议一个解决方案吗?
【问题讨论】:
标签: c# xaml data-binding mvvm windows-8