2009-06-11 43 views
1

以下代碼在WPF中正常工作。爲什麼Path = SelectedItem.Content適用於WPF中的組合框但不適用於Silverlight?

Silverlight它給我的錯誤**無效屬性值{Binding ElementName = WhichNumber,Path = SelectedItem.Content}屬性文本。 **

我怎樣才能得到這個在Silverlight

<ComboBox x:Name="WhichNumber" Width="100" HorizontalAlignment="Left" Margin="10" SelectedIndex="0"> 
     <ComboBoxItem Content="One"/> 
     <ComboBoxItem Content="Two"/> 
     <ComboBoxItem Content="Three"/> 
    </ComboBox> 

    <TextBlock Text="{Binding ElementName=WhichNumber, Path=SelectedItem.Content}"/> 
+0

你想在Silverlight 2或Silverlight 3(它有元素到元素的綁定)做到這一點? – 2009-06-11 02:29:37

+0

在2,哦,這是很好的知道! – 2009-06-11 06:25:48

回答

2

Silverlight不支持相對結合(一個元素的屬性綁定到另一個元素的屬性值的值),而WPF有那種結合的全力支持。

2

或者你可以移動到Silverlight 3中,介紹UI元素元件結合:)

出於某種原因(他們爲什麼這樣做我是無法理解),語法使用WPF時是不是寫略有不同,:

<TextBlock Text="{Binding ElementName=WhichNumber, Path=SelectedItem.Content}"/> 

你會用Silverlight 3中寫:

<TextBlock Text="{Binding ElementName=WhichNumber, SelectedItem.Content}"/> 

所以沒有 '路徑=' 的一部分。

不幸的是,微軟公司的Silverlight人員傾向於對語法和其他內容做一些小改動,而不是爭取在WPF和Silverlight中輕鬆實現代碼重用。

相關問題