我的DataGrid
绑定了ObservableCollection<Entry>
。
public class Entry
{
public List<string> Types {get; set;} = new List<string>() {"Type1", "Type2"};
}
由于DataGrid.ItemsSource
是Entry
的集合,我希望单个DataContext
的{{1}}为typeof(DataGridRow
)。
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
- Visual Studio窗口中没有BindingError
。
我需要为每个Output
显示Types
,因此通过索引访问无效。
答案 0 :(得分:1)
这应该有效:
<ComboBox ItemsSource="{Binding DataContext.Types, RelativeSource={RelativeSource AncestorType=DataGridRowHeader}}" />