当我为SelectedItem
触发数据模板点击事件时,我正尝试捕获ListBox
的{{1}}。我在notifypropertychanged事件处理程序中放置了一个断点,但它永远不会触发。我在这里做错了什么?
XAML:
Button
C#:
<ListBox x:Name="lstbox_playerContainer"
ItemsSource="{Binding ChildObjectOC}"
SelectedItem="{Binding SelectedChildObject, Mode=TwoWay}">
<ListBox.ItemTemplate>
<DataTemplate>
<Button Name="btn_childButton" Click="btn_childButton_Click"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
答案 0 :(得分:3)
点击Button
不会自动选择相应的项目。您可以在事件处理程序中以编程方式选择它:
private void btn_childButton_Click(object sender, RoutedEventArgs e)
{
Button btn = (Button)sender;
ListBoxItem lbi = lstbox_playerContainer.ItemContainerGenerator.ContainerFromItem(btn.DataContext) as ListBoxItem;
lbi.IsSelected = true;
}
这应该设置SelectedChildObject
属性并引发PropertyChanged
事件。