[英]Disabled Items Showing in Listbox
我有一个绑定到TabControl
的ListBox
。 当我打开文件时,其中的某些TabItems
( TabControl
)被隐藏/禁用,然后变为可见/启用。
我的问题是这些隐藏/禁用的项目仍在我的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.