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 对象的状态更改为 Collapsed。 视觉状态依赖于动画。 的 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 一起加载,并存在于运行时对象树中。

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

BooleanToVisibilityConverter

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

适用于

另请参阅