UIElement.Visibility Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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"/>
Property Value
A value of the enumeration. The default value is Visible
.
Examples
Visibility in a visual state As part of defining visual states for a control, you will sometimes want to change the Visibility
state of an object to Collapsed
. Visual states rely on animations. The property value type of Visibility
is Visibility, an enumeration. To animate values that are enumerations, you must use a DiscreteObjectKeyFrame. (You also use this technique for Boolean values). This XAML example shows a visual state that uses DiscreteObjectKeyFrame
to change visibility.
<VisualState x:Name="Focused">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Visibility" Duration="0">
<DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
Remarks
A UI element that has Visibility
equals Collapsed
is still loaded along with the rest of the XAML on a page and exists in the runtime object tree.
An element that has Visibility
equals Collapsed
has no location in the UI and does not participate in input or hit testing. They are also not in a tab sequence and cannot be focused, not even programmatically. If you still want input, focus or hit testing, rather than set Visibility use a zero Opacity.
BooleanToVisibilityConverter
A common scenario in apps that use data from a data source is to identify a property of the data or the view model for the data that controls whether the data should display. A related scenario is writing a template that can alter the Visibility
of a control part based on a Boolean property of the parent control or of another part. To make it easier to define this behavior as part of a Binding, some of the default project templates include a BooleanToVisibilityConverter
helper class in the Common folder. For more info on how to use a value converter for a data binding, see IValueConverter.