WPF中使用相對資源來進行綁定,數據源是通過DataContext來指定的


1. 最外層是Window是對象,Window的ItemsControl使用了ItemsTemplate,然后在ItemsTemplate中要綁定Language屬性,

    而整個Window的數據源是通過DataContext來指定的,類型是自定義的WindowViewModel, 而Language就是WindowViewModel的一個屬性

            在Window的構造函數中書寫:

               this.DataContext = new WindowViewModel();

 

2.在ItemsTemplate中進行綁定,核心代碼如下:

1 <TabItem 
2       Header="{Binding DataContext.Language, RelativeSource={RelativeSource AncestorType=Window, AncestorLevel=1}
3                      }"  />
View Code

  其中注意:

        使用了相對資源  RelativeSource來引用Window的DataContext,所以 AncestorType指定類型是Window, 層次是1層,
        特別要注意的是:

              需要綁定的數據是WindowViewModel類型的,而相對資源指定的是Window元素,它是沒有Language這個屬性的,

      Language是WindowViewModel的屬性,而在這里我們正好將WindowViewModel賦值給了Window的DataContext,

      所以在綁定時使用的Path應該是 DataContext.Language,其中DataContext是一定不能少寫的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM