0

我有一个 WPF DataGrid,DataSource 是一个ObservableCollection<MyItem>

MyItem具有名为 的属性Hour,该属性是自动生成的。Hour 用作 DataGrid 中的 RowHeader。

如果我将一个新项目添加到集合中,则 Hour 属性将被填充并且 RowHeader 将显示它。但我无法控制“占位符行”的 RowHeader。

如何实现占位符行的 RowHeader 始终是一个*字符,但所有普通行都具有Hour作为 RowHeader 的属性?

4

1 回答 1

1

从(那里并不真正需要)中删除小时MyItem,并使 RowHeader 自动生成。如果 Row.Item 不是 MyItem*则以编程方式设置为 Row.Header。

    void DataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
    {
        if (e.Row.Item is MyItem)
        {
            e.Row.Header = (e.Row.GetIndex()).ToString("D2");
        }
        else // Row is {NewItemPlaceholder}
        {
            e.Row.Header = "✲";
        }
    }
于 2013-07-23T09:04:52.497 回答