0
My DataGrid
がObservableCollection<Entry>
にバインドされています。 DataGrid.ItemsSource
以来DataGridRowHeaderでのコレクションへのバインドが期待どおりに機能しない
public class Entry
{
public List<string> Types {get; set;} = new List<string>() {"Type1", "Type2"};
}
私は、単一のDataGridRow
のDataContext
がtypeof演算されることを期待Entry
のコレクション(Entry
)です。
<DataGrid ItemsSource="{Binding Entries}">
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<Border Width="100">
<StackPanel>
<ComboBox ItemsSource="{Binding DataContext.Entries[0].Types, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}}" />
<ComboBox ItemsSource="{Binding Types}" />
</StackPanel>
</Border>
</DataTemplate>
</DataGrid.RowHeaderTemplate>
</DataGrid>
最初のBinding
が機能しています。第2の問題はありません。
Visual StudioのOutput
ウィンドウでは、まだBindingError
を取得していません。
Entry
ごとにTypes
を表示する必要があります。インデックスによるアクセスは機能しません。
!どうもありがとう !それはバインディングが 'DataGridRowHeader'から来ると認識されないのでしょうか? –
はい、DataTemplateはDataGridRowHeaderからDataContextを継承しません。 – mm8