分享

WPF,Loaded事件与Visibility属性值有关系?

 牛人的尾巴 2016-06-03
一个自定义控件:
XML/HTML code?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WPF2">
    <Style TargetType="{x:Type local:CustomControl1}">
        <Setter Property="Visibility" Value="Collapsed"/>
        <Setter Property="Width" Value="100"/>
        <Setter Property="Height" Value="30"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:CustomControl1}">
                    <Border Name="PART_Border" Background="Red"/>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>

C# code?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class CustomControl1 : Control
{
    static CustomControl1()
    {
        DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomControl1), new FrameworkPropertyMetadata(typeof(CustomControl1)));
    }
    public override void OnApplyTemplate()
    {
        base.OnApplyTemplate();
        this.Loaded += CustomControl1_Loaded;
    }
    void CustomControl1_Loaded(object sender, RoutedEventArgs e)
    {
        MessageBox.Show("张三");
    }
}

XML/HTML code?
1
2
3
4
5
6
7
8
9
<Window x:Class="WPF2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WPF2" 
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <local:CustomControl1 Margin="0,144,10,145" Width="Auto"/>
    </Grid>
</Window>


自定义控件CustomControl1的Visibility在样式中被设置为隐藏。CustomControl1控件还有一个Loaded事件。
现在出现这么一个现象:首次启动编译的时候,会弹出"张三",说明CustomControl1控件响应了Loaded事件,然后,停止调试,再次启动编译之后,就再也不弹出对话框了,这是什么原因呢?而如果取消控件样式中的那句<Setter Property="Visibility" Value="Collapsed"/>,则不会这种情况,难道Visibility属性会影响Loaded事件吗?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多