如何取消选择列表框数据模板项
本文关键字:数据 列表 选择 何取消 取消 | 更新日期: 2023-09-27 17:54:32
<TabItem Name="tbInActive" Header="Previous" Width="100" Height="100">
<ListBox Name="lbActive"
DockPanel.Dock="Top"
ItemContainerStyle="{DynamicResource SelectedItemContainer}">
<ListBox.ItemTemplate>
<DataTemplate >
<EventDet:EventSumDetail x:Name="ItemCtrl"
SelectedItem="{Binding ElementName=lbInActive, Path=SelectedItem}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<!-- ... -->
</TabItem>
在我的代码后面我尝试了
this.lbActive.SelectedItem = null;
和this.lbActive.UnselectAll();
和(编辑)this.lbActive.SelectedIndex = -1;
但是没有效果。
this.lbActive.SelectedItem = null;
没有理由不工作。(它工作在一个干净的石板ListBox)
我很确定问题在于你的自定义部分,要么SelectedItem="{Binding ElementName=lbInActive, Path=SelectedItem}"
是强制选择,要么在你的ItemContainerStyle
绑定这样做。
我猜想EventDet:EventSumDetail是一种ListBoxItem或类似的东西。问题是你有单向绑定(默认情况下)…你必须显式地使它成为双向绑定。这样的:
<EventDet:EventSumDetail SelectedItem="{Binding ElementName=lbInActive, Path=SelectedItem, Mode=TwoWay}" />
同样,您不需要name (x: name ="ItemCtrl"),在这种情况下,它是不必要的。