我有這個(簡化了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'。 –