尝试绑定setter的值时出错

时间:2014-03-19 21:07:11

标签: xaml windows-phone-8 binding setter

我有以下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中绑定吗?

1 个答案:

答案 0 :(得分:2)

你的怀疑似乎是正确的 - 根据this article,WP并不支持在二传手的价值中装订。

文章there has also been an updateanother article中也提供了一种解决方法。说实话 - 我还没有玩过这些例子,但也许他们会以某种方式帮助你。