2

私は自分のモデルのプロパティにバインドされた ItemSource プロパティを持つ DataGrid を持っています。また、ItemSource にバインドされているプロパティ オブジェクト内ではなく、同じモデルのプロパティ フォームにもバインドされたグリッド内のコンボボックス列が必要です。

<DataGrid ItemsSource="{Binding Path=Model.ObjectList}" AutoGenerateColumns="False" AllowDrop="False">
    <DataGrid.Columns>
    <DataGridTemplateColumn Header="Item No.">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <ComboBox ItemsSource="?????" SelectedValue="{Binding Path=ItemNumber}" SelectedValuePath="Id"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGrid>

グリッドの列は、ObjectList の Object 要素内にあるプロパティにのみバインドできます。親モデルのプロパティをグリッド セルにバインドする方法はありますか?

4

1 に答える 1

2

そのようなものを使用する必要があります:

{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path= DataContext.ItemSourcePropery}"

ここで、ItemSourceProperty はバインド先の ObservableCollection です。また、ウィンドウ内にいる場合は、タイプ「ウィンドウ」などを設定します。

于 2015-03-25T13:18:58.737 に答える