Visibility.Collapsed по-прежнему показывает контент - PullRequest
1 голос
/ 07 сентября 2011

У меня есть пользовательский элемент управления, который я изначально установил как свернутый так

<local:SpriteButton Content="Why?" x:Name="showReason" Click="showReason_Click" Margin="418,12,12,656" Visibility="Collapsed" />

Но когда я запускаю приложение, Контент, который в данном случае называется «Почему?»там отображается, но весь UserControl, включая его содержимое, необходимо скрыть.

Почему это так?

Класс Sprite 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это еще один пользовательский элемент управления, который я использую, но он скрывает правильность, он всегда находится под контентом управления контентом.

1 Ответ

0 голосов
/ 08 сентября 2011

Этот вопрос нуждается в дополнительном коде, чтобы показать, что вы имеете в виду ......

если вы пытаетесь скрыть дочерний элемент управления или контейнер, его также необходимо скрыть вместе с родителем.

По крайней мере, это звучит так, как вы просите, пожалуйста, напишите больше, чтобы мы могли помочь вам.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...