1

我正在使用 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 而不是绑定对象。在这种情况下,我将如何使其相对于绑定对象?

4

2 回答 2

0

万一有人在搜索中遇到这个。答案是 GridView 的 datacontext 绑定到它正在显示的集合,并且无权访问 Window 或 UserControl 的 datacontext。

Thomas Levesque 有一篇关于这个主题的博客文章。他组合了一个 BindingProxy 类,您可以使用该类将数据上下文传递给 radgridview。

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

于 2012-10-04T19:04:07.853 回答
-1

Intellisense 一定是搞砸了。不知何故错过了 GridViewDataColumn 的 IsReadOnlyBinding 属性,这正是我想要的。不过,不知道为什么 IsReadOnly 不能这样做。

于 2011-03-05T18:05:55.743 回答