簡體   English   中英

WPF DataGrid-綁定行標題

[英]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>

首先,您錯過了DataGridItemsSource 所以像這樣添加它:

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM