2011-09-07 215 views
1

我有我最初設置爲自定義控制倒塌像這樣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中總是顯示出來。

+1

SpriteButton是如何定義的? VisualState中有什麼? –

+4

您將不得不張貼一些顯示UserControl定義的XAML。 – Praetorian

+0

是直接或間接從UIElement繼承的sprite按鈕? – tam

回答

0

這個問題需要更多的代碼來顯示你的意思......

如果你試圖掩蓋它需要與父也被隱藏子控件或容器。

這至少是什麼聽起來像你的要求,請張貼更多,所以我們可以幫助你。 :)