.net 可见性=已折叠但不在DockPanel中工作
我试图让下面的文本块折叠起来,但它不起作用:.net 可见性=已折叠但不在DockPanel中工作,.net,wpf,vb.net,visibility,.net,Wpf,Vb.net,Visibility,我试图让下面的文本块折叠起来,但它不起作用: <DockPanel Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" LastChildFill="False" > <DockPanel.Resources> <Style x:Key="ReferenceValues" TargetType="{x:Type TextBlock}"> &l
<DockPanel Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" LastChildFill="False" >
<DockPanel.Resources>
<Style x:Key="ReferenceValues" TargetType="{x:Type TextBlock}">
<Style.Triggers>
<Trigger Property="Text" Value="">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="Text" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>
</Style.Triggers>
</Style>
</DockPanel.Resources>
<TextBlock Style="{StaticResource ReferenceValues}" FontFamily="Segoe UI Light" FontSize="14" DockPanel.Dock="Top" Text="{Binding PropFullName}" Margin="2,2,2,2" Visibility="Visible"/>
<TextBlock Style="{StaticResource ReferenceValues}" FontFamily="Segoe UI Light" FontSize="14" DockPanel.Dock="Top" Text="{Binding PropTitle}" Margin="2,2,2,2" Visibility="Visible"/>
<TextBlock Style="{StaticResource ReferenceValues}" FontFamily="Segoe UI Light" FontSize="14" DockPanel.Dock="Top" Text="{Binding PropUserName}" Margin="2,2,2,2" Visibility="Visible"/>
<TextBlock Style="{StaticResource ReferenceValues}" FontFamily="Segoe UI Light" FontSize="14" DockPanel.Dock="Top" Text="{Binding PropYear}" Margin="2,2,2,2" Visibility="Visible"/>
<TextBlock Style="{StaticResource ReferenceValues}" FontFamily="Segoe UI Light" FontSize="14" DockPanel.Dock="Top" Text="{Binding PropEmailAddress}" Margin="2,2,2,2" Visibility="Visible"/>
<TextBlock Style="{StaticResource ReferenceValues}" FontFamily="Segoe UI Light" FontSize="14" DockPanel.Dock="Top" Text="{Binding PropStartingPage}" Margin="2,2,2,2" Visibility="Visible"/>
<TextBlock Style="{StaticResource ReferenceValues}" FontFamily="Segoe UI Light" FontSize="14" DockPanel.Dock="Top" Text="{Binding PropEndingPage}" Margin="2,2,2,2" Visibility="Visible"/>
<TextBlock Style="{StaticResource ReferenceValues}" FontFamily="Segoe UI Light" FontSize="14" DockPanel.Dock="Top" Text="{Binding PropStartingDate}" Margin="2,2,2,2" Visibility="Visible"/>
<TextBlock Style="{StaticResource ReferenceValues}" FontFamily="Segoe UI Light" FontSize="14" DockPanel.Dock="Top" Text="{Binding PropEndingDate}" Margin="2,2,2,2" Visibility="Visible"/>
<TextBlock Style="{StaticResource ReferenceValues}" FontFamily="Segoe UI Light" FontSize="14" DockPanel.Dock="Top" Text="{Binding PropLastUpdate}" Margin="2,2,2,2" Visibility="Visible"/>
<TextBlock Style="{StaticResource ReferenceValues}" FontFamily="Segoe UI Light" FontSize="14" DockPanel.Dock="Top" Text="{Binding PropFileFormat}" Margin="2,2,2,2" Visibility="Visible"/>
...
</DockPanel>
...
当值为
null
或时,它们仅显示为空白。DockPanel
是否自动不呈现未显示的控件?(只有3个TextBlock
可以容纳72像素。)每个TextBlock
上可见性属性的显式设置将覆盖样式。删除Visibility=“Visible”
属性,文本块将根据您的样式按预期呈现
如果希望默认可见性可见,请在样式中设置默认可见性:
<Style x:Key="ReferenceValues" TargetType="{x:Type TextBlock}">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<Trigger Property="Text" Value="">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="Text" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>
</Style.Triggers>
</Style>
属性值由依赖项属性值优先级决定。请参阅msdn中的此链接-