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 バインディングのパスは、バインドされたオブジェクトではなく、フォームの DataContext に対して相対的です。この場合、バインドされたオブジェクトに対してどのように関連付けますか?

4

2 に答える 2

0

誰かが検索でこれに出くわした場合に備えて。答えは、GridView の datacontext が表示されているコレクションにバインドされており、Window または UserControl の datacontext にアクセスできないことです。

Thomas Levesque は、この件に関するブログエントリを持っています。彼は、datacontext を radgridview に渡すために使用できる BindingProxy クラスをまとめています。

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

インテリセンスがおかしくなったに違いない。どういうわけか、まさに私が望むことを行う GridViewDataColumn の IsReadOnlyBinding プロパティを見逃しました。ただし、 IsReadOnly がそれを実行できなかった理由はわかりません。

于 2011-03-05T18:05:55.743 に答える