これら 2 つの要素が存在するユーザー コントロールには、ColumnTypes というプロパティがあります。
これらの各要素は、同じ式でメインのデータコンテキストを相対的に参照しますが、最初の要素は機能しませんが、後者は機能します。
それを調査する方法はありますか?
<DataGrid x:Name="DataGrid" AutoGenerateColumns="False" ItemsSource="{Binding Table}" >
<DataGrid.Columns>
<DataGridComboBoxColumn Header="Type" >
<DataGridComboBoxColumn.ItemsSource>
<Binding Path="DataContext.GetColumnTypes" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type UserControl}}" />
</DataGridComboBoxColumn.ItemsSource>
</DataGridComboBoxColumn>
</DataGrid.Columns>
</DataGrid>
<ComboBox Grid.Row="1">
<ComboBox.ItemsSource>
<Binding Path="DataContext.GetColumnTypes" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type UserControl}}" />
</ComboBox.ItemsSource>
</ComboBox>
System.Windows.Data エラー: 4 : 参照 'RelativeSource FindAncestor、AncestorType='System.Windows.Controls.UserControl'、AncestorLevel='1'' でバインディングのソースが見つかりません。BindingExpression:Path=DataContext.GetColumnTypes; DataItem=null; ターゲット要素は 'DataGridComboBoxColumn' (HashCode=53813616) です。ターゲット プロパティは 'ItemsSource' (タイプ 'IEnumerable') です。