2

DataGridTemplateColumn 内でユーザー コントロールのデータ コンテキストを設定したいのですが、機能しません。コードは次のとおりです。

<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding RequesterPeoples}">
<DataGrid.Columns>
    <DataGridTemplateColumn  Header="name" Width="200">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <MvvmCommonControl:CustomDataGridSelectorControl DataContext="{Binding DataContext.RequesterPeoplesDataContext,ElementName=MyWindow}">
                    <MvvmCommonControl:CustomDataGridSelectorControl.DataGridColumns>
                        <MvvmCommonControl:DataGridColumnCollection>
                            <DataGridTextColumn Header="FarsiNmae" Width="100" Binding="{Binding FarsiName, Mode=OneWay}"></DataGridTextColumn>
                        </MvvmCommonControl:DataGridColumnCollection>
                    </MvvmCommonControl:CustomDataGridSelectorControl.DataGridColumns>
                </MvvmCommonControl:CustomDataGridSelectorControl>
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
</DataGrid.Columns>

4

1 に答える 1

3

RelativeSourceの代わりに使用する必要がありElementNameます。

私はこれを変更しました:

 DataContext="{Binding DataContext.RequesterPeoplesDataContext,ElementName=MyWindow}"

これに:

 DataContext="{Binding DataContext.RequesterPeoplesDataContext,RelativeSource={RelativeSource AncestorType=Window}}"
于 2012-06-21T06:03:22.417 に答える