我有一个DataTemplate,我正用于gridview中的一个单元格。我想在进度条和文本/链接块之间切换。有没有办法隐藏一个元素,以便它从流中删除,并在隐藏时不占用任何空间(如CSS中的“display:none”)?有没有更好的方法来解决这个问题?
DataTemplate看起来像:
<DataTemplate x:Key="DataTemplate2">
<StackPanel Height="40">
<TextBlock Visibility="{Binding ButtonVisibility}">
<Hyperlink Click="btn_Authorise">
<InlineUIContainer>
<TextBlock Text="{Binding Button}" />
</InlineUIContainer>
</Hyperlink>
</TextBlock>
<ProgressBar Value="{Binding Progress}"
Visibility="{Binding ProgressVisibility}"
Height="15"
Width="150"
Background="{DynamicResource NormalBrush}"
BorderThickness="0"
BorderBrush="#FF8D8D8D"
Style="{DynamicResource ProgressBarStyle1}" />
</StackPanel>
</DataTemplate>
答案 0 :(得分:12)
Visibility.Collapsed
可能就是你所需要的(而不是Visibility.Hidden
仍然让控件参与布局计算)
答案 1 :(得分:0)
是的。
可见性是枚举,可见,隐藏和折叠。 隐藏只是不可见,而倒塌意味着它也没有空间