我的ListBox
定义了一个相当简单的ItemTemplate
- 包含TextBlock
和Button
。这显示出预期,但有一个问题。当我点击ListBoxItem
的内容,即文字或按钮时,该行未在ListBox
中被选中。如果我单击该行的空白部分。当我点击该行的任何地方时,我希望选择ListBoxItem
。有什么需要实现这一目标?
<ListBox ItemsSource="{Binding SomeElements}">
<ListBox.ItemTemplate>
<DataTemplate>
<ListBoxItem Selected="ListBoxItem_Selected">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Title}"></TextBlock>
<Button>Click</Button>
</StackPanel>
</ListBoxItem>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
答案 0 :(得分:4)
ListBoxItem DataTemplate ListBoxItem StackPanel...
将您的代码更改为此。
<ListBox ItemsSource="{Binding SomeElements}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Title}"></TextBlock>
<Button>Click</Button>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>