UIElement.Visibility 属性

定义

获取或设置 UIElement 的可见性。 不可见的 UIElement 不会呈现,也不会将其所需大小传达给布局。

public:
 property Visibility Visibility { Visibility get(); void set(Visibility value); };
Visibility Visibility();

void Visibility(Visibility value);
public Visibility Visibility { get; set; }
var visibility = uIElement.visibility;
uIElement.visibility = visibility;
Public Property Visibility As Visibility
<uiElement Visibility="Visible"/>
-or-
<uiElement Visibility="Collapsed"/>

属性值

枚举的一个值。 默认值为 Visible

示例

视觉状态中的可见性 在为控件定义视觉状态时,有时需要将对象的可见性状态更改为 “折叠”。 视觉状态依赖于动画。 Visibility 的属性值类型为 Visibility(枚举)。 若要对枚举值进行动画处理,必须使用 DiscreteObjectKeyFrame。 (还可以将此方法用于) 布尔值。 此 XAML 示例显示了使用 DiscreteObjectKeyFrame 更改可见性的视觉状态。

<VisualState x:Name="Focused">
  <Storyboard>
    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Visibility" Duration="0">
      <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
    </ObjectAnimationUsingKeyFrames>
  </Storyboard>
</VisualState>

注解

Visibility 等于 Collapsed 的 UI 元素仍与页面上的其余 XAML 一起加载,并存在于运行时对象树中。

Visibility 等于 Collapsed 的 元素在 UI 中没有位置,并且不参与输入或命中测试。 它们也不在制表符序列中,无法聚焦,甚至无法以编程方式进行。 如果仍需要输入、焦点或命中测试,而不是设置可见性,请使用零 不透明度

BooleanToVisibilityConverter

在使用数据源中的数据的应用中,一个常见方案是标识数据的属性或用于控制数据是否应显示的数据的视图模型。 相关方案是编写一个模板,该模板可以根据父控件或其他部件的布尔属性更改控件部件的可见性。 为了更轻松地将此行为定义为 Binding 的一部分,一些默认项目模板在 Common 文件夹中包括 BooleanToVisibilityConverter 帮助程序类。 有关如何对数据绑定使用值转换器的详细信息,请参阅 IValueConverter

适用于

另请参阅