编译绑定(x:绑定)到资源键

时间:2015-10-26 11:42:12

标签: c# xaml binding uwp

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

即。 传统装订

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

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

编译绑定

我尝试了,我知道它不起作用,显然它正在寻找属性&#34;数据&#34;在页面上而不是资源。

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

还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

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

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

public sealed partial class MainPage : Page
{
    public DataSource Data { get; set; }

    public MainPage()
    {
        InitializeComponent();
        Data = new DataSource();
    }
}

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