2009-06-11 47 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中轻松实现代码重用。

相关问题