[英]WPF DataGrid - bind Row Headers
我有帶有行標題名稱的ObservableCollection。 我應該將其綁定到我的dataGrid。
public ObservableCollection<string> criteriasName { get; set; }
public MainWindow()
{
InitializeComponent();
DataContext = this;
...
//define row heading name
criteriasName = new ObservableCollection<string>();
for (int i = 0; i < numCriteria; i++)
criteriasName.Add(criteriaBundle[0].criterias[i].Title);
....
}
您能否提示我如何將其綁定到行標題?
<DataGrid Name="grCriteria" SelectionMode="Single" SelectionUnit="Cell" CellEditEnding="grCriteria_CellEditEnding">
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding criteriasName}"/>
</DataTemplate>
</DataGrid.RowHeaderTemplate>
</DataGrid>
首先,您錯過了DataGrid
的ItemsSource
。 所以像這樣添加它:
<DataGrid Name="grCriteria" ItemsSource="{Binding}">
然后像這樣更改DataTemplate
:
<DataTemplate>
<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType={x:Type DataGridRow}},
Path=Item.criteriasName}"/>
</DataTemplate>
另外,您還應該使用DataContext = this;
到DataContext = criteriasName;
並將其放在for
循環之后。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.