2015-10-26 55 views
0

快速問題,是否有可能綁定到具有編譯綁定的資源鍵,就像使用傳統綁定一樣?編譯綁定(x:綁定)到資源鍵

即 傳統裝訂

<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> 

那麼還有其他方法嗎?

回答

0

顧名思義,使用編譯的綁定方式表示在編譯時驗證綁定表達式,因此必須強類型化。這意味着路徑需要在上下文中作爲屬性存在,並且不會用作資源。

對於{X:}綁定工作,後面聲明你的數據源作爲一個屬性代碼:

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

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

然後從你的資源刪除您的數據資源,你就大功告成了。