当我点击其中一个Textblocks时,为什么ListBox中的TextBlocks会重复?

时间:2016-04-03 21:32:29

标签: c# wpf listbox

我有一个简单的启用MultiSelection的ListBox,它包含TextBlocks。现在当我单击其中一个TextBlocks时,ListBox中的所有项目都重复,并且未选中单击的项目。多选也不起作用,因为列表似乎正在刷新。如果我再次点击它们不会重复,但多选仍然不起作用。我不明白这种奇怪的行为,而且我对自己的代码视而不见。

为什么当我点击其中一个项目时项目会重复,为什么选择的项目不起作用?

编辑:

当我进一步调试时,我来到SelectionChanged的源头,我设法通过测试来看看源是否是一个解决了我的问题的TabControl。这是正确的方法吗?

filter

这是我的XAML

if (selectedTab.Header.ToString() == "Plugins" && e.Source is TabControl)
{
    e.Handled = true;
    RefreshPluginList();
}

这是

背后的代码
<TabItem Header="Plugins">
    <Border BorderBrush="Transparent" BorderThickness="5" MinHeight="350">
        <DockPanel>
            <TextBlock x:Name="list_PluginsDragMessage" DockPanel.Dock="Bottom" Panel.ZIndex="100" HorizontalAlignment="Center" Margin="0,-170,0,0" Foreground="{StaticResource SuccessGreen}" IsHitTestVisible="False">Drag and drop</TextBlock>
            <ListBox DockPanel.Dock="Top" BorderBrush="{StaticResource SuccessGreen}" x:Name="list_Plugins" BorderThickness="0" Background="{StaticResource BorderDarkGreen}" Foreground="White" AllowDrop="True" SelectionMode="Multiple"/>
        </DockPanel>
    </Border>
</TabItem>

这是一些图片

List

List duplicated when left mouse button pressed on one of the items

0 个答案:

没有答案