我有以下XAML:
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<Grid>
<Grid.RowDefinitions>
...
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
...
</Grid.ColumnDefinitions>
</Grid>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
...
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Grid.Row" Value="{Binding Row, Mode=OneWay}" />
<Setter Property="Grid.Column" Value="{Binding Column, Mode=OneWay}" />
</Style>
</ListBox.ItemContainerStyle>
...
页面加载后,我收到以下XamlParseException
:
无法分配属性'System.Windows.Setter.Value'。 [行:69位置:63]
的InnerException:
NotSupportedException:无法设置只读属性''。
错误中的行号对应Grid.Row
setter;如果我使用硬编码值而不是绑定,它可以正常工作(但显然这不是我想要的)。
发生了什么事?内部异常消息毫无意义;我没有设置任何只读属性,我当然没有设置没有名称的属性!
我是Windows Phone的新手,但我很确定相同的代码在WPF中可以正常运行...在WP不支持的setter中绑定吗?
答案 0 :(得分:2)
你的怀疑似乎是正确的 - 根据this article,WP并不支持在二传手的价值中装订。
文章there has also been an update和another article中也提供了一种解决方法。说实话 - 我还没有玩过这些例子,但也许他们会以某种方式帮助你。