C# 如何取消选择listbox数据模板项?
在我的代码隐藏中,我尝试了C# 如何取消选择listbox数据模板项?,c#,wpf,listbox,C#,Wpf,Listbox,在我的代码隐藏中,我尝试了 this.lbActive.SelectedItem=null和this.lbActive.UnselectAll()和(编辑)this.lbActive.SelectedIndex=-1 但它们没有效果 没有理由this.lbActive.SelectedItem=null不应该工作。(它在一个干净的列表框中工作) 我很确定问题出在您的自定义部件上,要么是SelectedItem=“{Binding ElementName=lbInActive,Path=Selec
this.lbActive.SelectedItem=null
和this.lbActive.UnselectAll()代码>和(编辑)this.lbActive.SelectedIndex=-1代码>
但它们没有效果 没有理由this.lbActive.SelectedItem=null代码>不应该工作。(它在一个干净的列表框中工作)
我很确定问题出在您的自定义部件上,要么是SelectedItem=“{Binding ElementName=lbInActive,Path=SelectedItem}”
强制进行选择,要么是itemcontainersstyle
中的绑定执行此操作。没有理由this.lbActive.SelectedItem=null代码>不应该工作。(它在一个干净的列表框中工作)
我很确定问题出在您的自定义部件上,要么是SelectedItem=“{Binding ElementName=lbInActive,Path=SelectedItem}”
强制进行选择,要么是itemcontainersstyle
中的绑定执行此操作。我认为EventDet:eventsumdail是一种ListBoxItem或类似的东西。
问题是您有一个单向绑定(默认情况下)。。。您必须显式地使其成为双向绑定。。像这样:
<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>
另外,您不需要命名(x:name=“ItemCtrl”),在这种情况下,它是不必要的。我认为EventDet:eventsumdail是一种ListBoxItem或类似的东西。
问题是您有一个单向绑定(默认情况下)。。。您必须显式地使其成为双向绑定。。像这样:
<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>
此外,您不需要命名(x:name=“ItemCtrl”),在这种情况下,它是不必要的。您是否尝试将所选索引设置为-1?是否尝试将所选索引设置为-1?