【问题标题】:Compiled Binding (x:Bind) to a resource key编译绑定 (x:Bind) 到资源键
【发布时间】:2015-10-26 11:42:12
【问题描述】:

快速提问,是否可以像使用传统绑定一样通过编译绑定绑定到资源键?

即 传统装订

<Page.Resources>
   <local:DataSource x:Key="Data"/>

    <CollectionViewSource x:Name="myColl" Source="{Binding Source={StaticResource Data}, Path=Colleges}" ItemsPath="Campuses" IsSourceGrouped="True"/>
</Page.Resources>

编译绑定

我试过了,我知道它不起作用,显然它是在页面上寻找属性“数据”而不是资源。

<Page.Resources>
    <local:DataSource x:Key="Data"/>
    <CollectionViewSource x:Name="myColl" Source="{x:Bind Data.Colleges}" ItemsPath="Campuses" IsSourceGrouped="True"/>
</Page.Resources>

那么还有其他方法吗?

【问题讨论】:

    标签: c# xaml binding uwp


    【解决方案1】:

    顾名思义,使用编译绑定意味着绑定表达式在编译时进行验证,因此必须是强类型的。这意味着路径需要作为上下文中的属性存在,并且不能作为资源工作。

    为了使 {x:Bind} 起作用,请在后面的代码中将您的 DataSource 声明为属性:

    public sealed partial class MainPage : Page
    {
        public DataSource Data { get; set; }
    
        public MainPage()
        {
            InitializeComponent();
            Data = new DataSource();
        }
    }
    

    然后从您的资源中删除您的数据资源,您就完成了。

    【讨论】:

      猜你喜欢
      • 2015-08-19
      • 2014-01-01
      • 2015-12-11
      • 1970-01-01
      • 2016-08-29
      • 2019-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多