none
关于ConnectionId用法 RRS feed

  • 问题

  • 看到有些XAML中写到"<Button x:ConnectionId='2'/>",我在使用时怎么只有“x:Key,x:FieldModifier,x:Uid,x:Name“怎么没有x:ConnectionId呢?另外,不知道x:ConnectionId有什么用?希望Bob来些指点!!

    2012年10月31日 13:35

答案

  • 这个是XAML 2006标准里面的  并没有公开,不需要去使用它。

    这个值是在设计器中设计器自动生成代码的时候用来查询和绑定事件用的,比如你在Grid 中写了一个Loaded="xxx" 则自动编译生成的XAML就会添加这个属性,然后依据这个属性在obj目录下的 xxx.g.cs的Connect方法就可以找到这个Grid 并且绑定上事件处理:

            public void Connect(int connectionId, object target)
            {
                switch(connectionId)
                {
                case 1:
                    #line 10 "..\..\MainPage.xaml"
                    ((global::Windows.UI.Xaml.FrameworkElement)(target)).Loaded += this.xxxx;
                     #line default
                     #line hidden
                    break;
                }
                this._contentLoaded = true;
            }

    obj下的对应的XAML文件就成了:

        <Grid x:ConnectionId='1'                        Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
        </Grid>


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us


    2012年11月1日 9:21
    版主