WPF数据绑定问题

时间:2011-03-05 17:44:03

标签: wpf binding telerik-grid radgridview

我正在使用RadGridView(Telerik)。我正在尝试将列编辑为仅适用于某些行,但我正在尝试的内容似乎不起作用,我不知道该怎么做。

我的网格是:

<telerik:RadGridView HorizontalAlignment="Left" Margin="12,12,12,12" Name="radGridView1" VerticalAlignment="Top" ItemsSource="{Binding FeedList}" ShowGroupPanel="False" AutoGenerateColumns="False" ShowInsertRow="True" EditTriggers="Default">
    <telerik:RadGridView.Columns>
        <telerik:GridViewDataColumn Header="Feed" DataMemberBinding="{Binding Path=Name}" Width="150" IsReadOnly="{Binding Path=ReadOnly}" />
        <telerik:GridViewDataColumn Header="Url" DataMemberBinding="{Binding Path=Url}" Width="*"/>
    </telerik:RadGridView.Columns>
</telerik:RadGridView>

绑定对象具有属性,但IsReadOnly绑定的Path相对于表单的DataContext而不是绑定对象。在这种情况下,我如何相对于绑定对象?

2 个答案:

答案 0 :(得分:0)

如果有人在搜索时遇到此问题。答案是GridView的datacontext绑定到它正在显示的集合,并且无法访问Window或UserControl的datacontext。

Thomas Levesque有一篇关于这个主题的博客文章。他将一个BindingProxy类放在一起,您可以使用它将datacontext传递给radgridview。

http://www.thomaslevesque.com/2011/03/21/wpf-how-to-bind-to-data-when-the-datacontext-is-not-inherited/

答案 1 :(得分:-1)

智能感知一定是搞砸了。不知何故错过了GridViewDataColumn的IsReadOnlyBinding属性,它完全符合我的要求。不知道为什么IsReadOnly无法做到这一点。