如何重置显示为弹出窗口的UserControl中的元素?

时间:2013-04-26 09:15:28

标签: c# xaml windows-8

我有一个UserControl,显示在popup中。我在usercontrol中有一个按钮,点击后会显示textfield。但是,当我再次访问usercontrol时,textfiled仍然可见,我希望它再次折叠,直到用户点击button

我不知道怎么做?要覆盖哪种方法。请帮帮我

1 个答案:

答案 0 :(得分:1)

使用UserControl.Loaded事件将文本字段设置为折叠。

这个关于加载和初始化事件的blogpost对我非常有帮助。

示例:

UserControl XAML

<UserControl x:Class="YourNamespaceName.YourClassName"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d"
             d:DesignHeight="300" d:DesignWidth="300" Loaded="YourClassName_OnLoaded"> 
    <Grid>
        <TextBlock x:Name="testTextBlock" Text="Invisible on startup" />
        <Button x:Name="testButton" Content="Click" Click="TestButton_OnClick" />
    </Grid>
</UserControl>

UserControl CodeBehind

private void YourClassName_OnLoaded(object sender, System.Windows.RoutedEventArgs e)
{
    this.testTextBlock.Visibility = Visibility.Collapsed;
}

private void TestButton_OnClick(object sender, RoutedEventArgs e)
{
    this.testTextBlock.Visibility = Visibility.Visible;
}