Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何取消选择listbox数据模板项?_C#_Wpf_Listbox - Fatal编程技术网

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?