繁体   English   中英

列表框中显示的禁用项目

[英]Disabled Items Showing in Listbox

我有一个绑定到TabControlListBox 当我打开文件时,其中的某些TabItemsTabControl )被隐藏/禁用,然后变为可见/启用。

我的问题是这些隐藏/禁用的项目仍在我的ListBox中可见。 有人可以帮助我解决为什么发生这种情况吗?

TabControl XAML

<TabControl Height="Auto" x:Name="tabControl" Width="Auto" 
            Padding="0" Margin="3" DataContext="{Binding}">
    <TabItem Header="StartPage" x:Name="StartTab" Foreground="White" Height="25">
    </TabItem>
    <TabItem Header="DragDrop" x:Name="DragDropTab" Foreground="White" 
             Height="25" IsEnabled="False" Visibility="Hidden">
        <Image Height="Auto" x:Name="DragImage" Stretch="Fill" Width="Auto" />
    </TabItem>
    <TabItem Header="Text" x:Name="TextTab" Foreground="White" 
             Height="25" IsEnabled="False" Visibility="Hidden" >
        <Grid>
            <cbox:SyntaxHighlightBox Height="Auto" x:Name="HighlightText" 
                  Width="Auto" Text="" AcceptsTab="True" AcceptsReturn="True" 
                  VerticalScrollBarVisibility="Auto" 
                  HorizontalScrollBarVisibility="Visible" />
        </Grid>
    </TabItem>
</TabControl>


列表框XAML

<ListBox ItemsSource="{Binding Items, ElementName=tabControl}" 
         x:Name="ShowOpenTabs" >
    <ListBox.ItemContainerStyle>
        <Style TargetType="{x:Type ListBoxItem}" 
               BasedOn="{StaticResource {x:Type ListBoxItem}}">
            <EventSetter Event="MouseDoubleClick" Handler="OpenOnClick"/>
        </Style>
    </ListBox.ItemContainerStyle>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Header}"/>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

您需要将ListBox项的可见性绑定到tabcontrol项的可见性

<DataTemplate>
    <TextBlock Text="{Binding Header}" Visibility="{Binding Path=Visibility}"/>
</DataTemplate>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM