我有这个(简化了SO)列表框:上ListBoxItem的执行按钮的命令选择
<ListBox x:Name="CurriculumList"
ItemsSource="{Binding FilteredCurriculums}"
SelectedIndex="0"
SelectionMode="Single"
IsSynchronizedWithCurrentItem="True">
<ListBox.ItemTemplate>
<DataTemplate>
<Button Name="TheButton"
HorizontalContentAlignment="Stretch"
Content="{Binding DisplayMember}"
CommandParameter="{Binding Id}"
Command="{Binding OpenCurriculumEditViewCommand}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我可以导航上下用键盘来改变选择listBoxItems,但它不会改变的细节查看 - DataTemplate
中的Button
实际上没有被点击,所以OpenCurriculumEditViewCommand
从未得到执行。
任何人都有任何想法我可以做到这一点?
此'ListBox'的'DataContext'绑定到'FilteredCurriculums'属性,它是ObservableCollection过滤的'ICollectionView'。 “EventTrigger”如何知道它与“Id”和“OpenCurriculumEditViewCommand”绑定的是哪个“NavigationItemViewModel”? –
我编辑了答案。要绑定到ListBox的SelectedItem的'Id',你可以用它作为''RelativeSource'到'CommandParameter'的'Binding'。 –