2009-06-16 9 views
1

我在我的視圖模型與翻譯上查看字鍵/值Dictionary對象。是否有XAML類似XPath的語法,可以讓項目從收集的?

這是可能得到的語言信息作爲XML對象,然後挑選出使用XPath的翻譯的短語,像這樣:

<TextBlock DataContext="{TranslatorDictionaryXml}" Text="{Binding XPath=/terms/term[key='edit']/value[@lang='en-US']}"/> 

但是,有沒有類似的方式與一個做到這一點非XML對象它提供了某種類似XPath的語法,例如

僞代碼:

<TextBlock DataContext="{CurrentLanguageTranslatorDictionary}" Text="{Binding path=Key['edit']}"/> 

我不想集合綁定到ListView或任何其他集合元素,但希望將一個翻譯對象綁定到個人的TextBlocks和文本框和工具提示等等,然後使用某種路徑語法從綁定集合中獲取特定項目。

這可能嗎?

回答

1

是的,你可以同時做兩件事,Binding上也有一個XPath屬性。還有的怎麼辦呢here一些很好的例子,並在整個binding how-to樣本。您可以also use a collection's indexer做到這一點,但它並不需要使用單引號或轉義引號。

<TextBox Text="{Binding Path=Countries[US]}" /> 

public partial class Window1 : Window 
{ 
    public Window1() 
    { 
     InitializeComponent(); 

     Countries = new Dictionary<string, string>(); 
     Countries.Add("US", "United States"); 
     Countries.Add("CA", "Canada"); 

     this.DataContext = this; 
    } 

    public Dictionary<string, string> Countries { get; set; } 
} 
+0

完美,謝謝! – 2009-06-17 07:33:52

相關問題