Visibility.Collapsed仍呈现内容
问题描述:
我有我最初设置为自定义控制倒塌像这样Visibility.Collapsed仍呈现内容
<local:SpriteButton Content="Why?" x:Name="showReason" Click="showReason_Click" Margin="418,12,12,656" Visibility="Collapsed" />
但是当我运行的应用中的内容,在这种情况下是“为什么?”出现在那里,但包括它的内容的整个UserControl需要被隐藏。
这是为什么?
精灵Button类看起来像这样
<Button x:Class="AppNameSpace.MyControls.SpriteButton"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:AppNameSpace.MyControls"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="White"
Loaded="Button_Loaded"
HorizontalAlignment="Center" VerticalAlignment="Center"
MouseLeftButtonDown="Button_MouseLeftButtonDown"
MouseLeave="Button_MouseLeave"
ClickMode="Hover"
>
<Button.Resources>
<Style x:Key="PhoneButtonCheckBoxBase" TargetType="Button">
<Setter Property="Background" Value="{StaticResource PhoneRadioCheckBoxBrush}"/>
<Setter Property="BorderBrush" Value="{StaticResource PhoneRadioCheckBoxBrush}"/>
<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilyNormal}"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<!--Setter Property="Padding" Value="-10"/-->
</Style>
<Style x:Key="RectButton" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid Background="Transparent">
<Grid>
<local:spriteView HorizontalAlignment="Center" Sprite="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=currentSprite}" />
<ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" FontSize="{TemplateBinding FontSize}" FontFamily="{TemplateBinding FontFamily}" />
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Resources>
<Button.Style>
<StaticResource ResourceKey="RectButton"/>
</Button.Style>
</Button>
SpriteView又是我使用其他自定义控制,但隐藏正确,它下面的ContentControl中总是显示出来。
答
这个问题需要更多的代码来显示你的意思......
如果你试图掩盖它需要与父也被隐藏子控件或容器。
这至少是什么听起来像你的要求,请张贴更多,所以我们可以帮助你。 :)
SpriteButton是如何定义的? VisualState中有什么? –
您将不得不张贴一些显示UserControl定义的XAML。 – Praetorian
是直接或间接从UIElement继承的sprite按钮? – tam