0

我正在尝试通过代码编辑模板化 DataGrid 列内的 StackPanel 的内容。不幸的是,我无法从代码中找到 StackPanel。有人可以帮我吗?

这是我的数据模板:

<UserControl.Resources>
    <DataTemplate x:Key="ReservationContainerTemplate">
        <StackPanel Orientation="Horizontal" Background="Black" />
    </DataTemplate>
</UserControl.Resources>

这就是我创建此列的方式:

var colReservations = new DataGridTemplateColumn();

colReservations.Header = "Nordplatz";

DataTemplate dt = null;
dt = dataGrid1.FindResource("ReservationContainerTemplate") as DataTemplate;

colReservations.CellTemplate = dt;
dataGrid1.Columns.Add(colReservations);

我需要做的是,在 DataTemplate 中写入这个 StackPanel。

4

1 回答 1

0

我能够通过以下代码获取对象:

        DataRowView n = (DataRowView)dataGrid1.Items[i];
        //var m = dataGrid1.SelectedItem.Cells[0].Text;

        DataTemplate Template = dataGrid1.FindResource("ReservationContainerTemplate") as DataTemplate;
        StackPanel stp = Template.LoadContent() as StackPanel;

太好了,我有我的对象,但我该如何修改它?在这种情况下,我只有一个对象的副本,更改不会反映到原始对象。

有人有想法吗?

于 2012-04-28T20:49:26.757 回答