以下代码在 WPF 中运行良好。
在 Silverlight 中,它为我提供了错误**属性Text的无效属性值{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 :(得分:2)
Silverlight不支持相对绑定(将一个元素的属性绑定到另一个元素的属性值的值),而WPF完全支持这种绑定。
答案 1 :(得分:2)
或者您可以转移到Silverlight 3,它将UI元素引入元素绑定:)
出于某种原因(为什么他们这样做超出了我),语法略有不同,而不是在使用WPF时写作:
<TextBlock Text="{Binding ElementName=WhichNumber, Path=SelectedItem.Content}"/>
你会用Silverlight 3编写:
<TextBlock Text="{Binding ElementName=WhichNumber, SelectedItem.Content}"/>
所以没有'Path ='部分。
不幸的是,微软的Silverlight人员倾向于对语法和其他内容进行微小的改动,而不是努力在WPF和Silverlight之间轻松地重用代码。