我似乎无法使其正常工作。基本上,我有一个绑定到列表的ObservableCollection。在这个集合中,我有一个对象,我需要在执行时将其作为变量传递给Command。我的计划是将其作为CommandParameter传递,但我无法让它工作。该对象实际上是一个Enum值,但除了静态文本之外我无法使用它。下面是代码,它使用了使用Interactivity(wi)和blend的dll(sl)的MVVM概念。该属性在ListItem上是公共的,并且实现了INotifyPropertyChanged。
感谢。
<ListBox ItemsSource="{Binding Path=MyList}" ScrollViewer.VerticalScrollBarVisibility="Disabled">
<wi:Interaction.Triggers>
<wi:EventTrigger EventName="SelectionChanged">
<sl:InvokeDataCommand CommandParameter="{Binding MyList.ListItem.Property}" Command="{Binding Source={StaticResource Locator}, Path=MyTestPage.TestExecute}" />
</wi:EventTrigger>
</wi:Interaction.Triggers>
...
答案 0 :(得分:0)
<ListBox x:Name="listBox" ItemsSource="{Binding Path=MyList}" ScrollViewer.VerticalScrollBarVisibility="Disabled">
<wi:Interaction.Triggers>
<wi:EventTrigger EventName="SelectionChanged">
<sl:InvokeDataCommand CommandParameter="{Binding ElementName=listBox, Path=SelectedItem.Property}" Command="{Binding Source={StaticResource Locator}, Path=MyTestPage.TestExecute}" />
</wi:EventTrigger>
</wi:Interaction.Triggers>
这样做怎么样?你想绑定到selectedItem,而不是?
MyList是你的ObservableCollection?