这是我xaml
复选框[内部列表框的ItemTemplate]经过事件不被触发
<ListBox x:Name="HistoryList"
ItemsSource="{Binding HistoryCollection}"
>
<ListBox.ItemTemplate >
</DataTemplate>
<CheckBox x:Name="UpCheckBox" Height="50" Width="50" >
<interactivity:Interaction.Triggers>
<interactivity:EventTrigger EventName="Checked">
<interactivity:InvokeCommandAction Command="{Binding UpCheckedCommad}" CommandParameter="{Binding ElementName=UpCheckBox}"></interactivity:InvokeCommandAction>
</interactivity:EventTrigger>
</interactivity:Interaction.Triggers>
</CheckBox>
</DataTemplate>
</ListBox.ItemTemplate >
</ListBox >
在ViewModel
我用GalasoftMVVM Command Binding
public ICommand UpCheckedCommad
{
get { return new RelayCommand<Object>(x => { PerformUpforTracks(x); }); }
}
void PerformUpforTracks(object x)
{
//TODO
}
我用了一个CheckBox
里面ListBox ItemTemplate
。但我不在ViewModel
中获得Checked
事件CheckBox
。
我想从ViewModel获取Checked事件。
任何人都可以有任何想法来解决这个问题?
你能告诉我该命名空间是属于 'X' 绑定
Command
? – asitis 2013-02-08 14:01:58您已经在代码示例中使用了“x”命名空间。它是XAML模式的内置命名空间。 “AncestorType = {x:Type ListBox}”基本上只是说“向上移动树直到我们找到一个ListBox,然后在它的DataContext里面查看我的绑定”。 – BTownTKD 2013-02-08 14:03:35
感谢兄弟的帮助。我得到了答案。无论如何,我没有从'x'获得Type。我不知道它为什么。 – asitis 2013-02-08 14:07:09