1

以下代码在WPF中运行良好。

Silverlight中,它给了我错误 **Invalid attribute value {Binding ElementName=WhichNumber, Path=SelectedItem.Content} for property Text。**

我怎样才能让它在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}"/>
4

2 回答 2

2

Silverlight 不支持相对绑定(将一个元素的属性绑定到另一个元素的属性值),而 WPF 完全支持这种绑定。

于 2009-06-11T01:18:06.247 回答
2

或者您可以转到将 UI 元素引入到元素绑定的 Silverlight 3 :)

出于某种原因(他们为什么这样做超出了我的理解),语法略有不同,而不是在使用 WPF 时编写:

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

你会用 Silverlight 3 写:

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

所以没有 'Path=' 部分。

不幸的是,Microsoft 的 Silverlight 人员倾向于对语法和其他内容进行小的更改,而不是努力在 WPF 和 Silverlight 之间轻松重用代码。

于 2009-06-11T07:24:00.630 回答