1

ViewModel にネストされたオブジェクトであるプロパティがあり、ビューで CollectionViewSource を作成し、そのプロパティにバインドしています。(obj はオブジェクトです)

<CollectionViewSource Source="{Binding obj.myObjs}" x:Key="MyObjView" >
            <CollectionViewSource.SortDescriptions>
                <scm:SortDescription PropertyName="Name" Direction="Ascending"/>
            </CollectionViewSource.SortDescriptions>
        </CollectionViewSource>

そして、このビューをグリッドにバインドします

<dxg:GridControl x:Name="Grid" ItemsSource="{Binding Source={StaticResource MyObjView}}" SelectedItem="{Binding myObj1}">

  <dxg:GridColumn Header="All" FieldName="Disc"/>
  <dxg:GridColumn Header="Adj" FieldName="Adjust"/>
 <dxg:GridColumn Header="Name" FieldName="Acct.Name"/>
 </dxg:GridControl>

しかし、現在、3 番目の列にはデータが表示されていません。FieldNameが入れ子に入らないからだと思うのでDisplayMemberBindingを使ってみた

<dxg:GridColumn Header="Name" DisplayMemberBinding="{Binding Acct.Name}" />

これも機能していません。グリッド列をそのネストされたプロパティにバインドする方法を知りたいですか?

4

2 に答える 2

1

DisplayMemberBinding プロパティのドキュメントに従って、DisplayMemberBindingを使用する場合は次の形式を使用する必要があります。

<dxg:GridColumn Header="Name" Binding="{Binding Path=RowData.Row.Acc.Name}"/> 
于 2013-11-07T09:16:22.067 に答える
0

Mode=OneWayバインディングで(ヘッダーのアカウント名を変更することが許可されていないと仮定して)必要があるようです。

DisplayMemberBinding="{Binding Acct.Name, Mode=OneWay}"
于 2013-11-06T21:59:37.887 に答える