将视图框插入数据网格单元格
本文关键字:数据网 网格 单元格 数据 插入 视图 | 更新日期: 2023-09-27 18:26:05
我想把一些东西放进ViewBox中,然后这个ViewBox会被添加到DataGridTemplateColumn的单元格模板中。所有这些都是在代码隐藏(C#)中完成的。
我已经用标签完成了,但我想使用ViewBox。使用标签的代码是:
DataGridTemplateColumn dgtc5 = new DataGridTemplateColumn();
dgtc5.Width = 142;
dgtc5.Header = "Page Life Expectancy";
DataTemplate dtemp5 = new DataTemplate();
FrameworkElementFactory fef5 = new FrameworkElementFactory(typeof(Label));
Binding b5 = new Binding("PleChart");
fef5.SetBinding(Label.ContentProperty, b5);
dtemp5.VisualTree = fef5;
dgtc5.CellTemplate = dtemp5;
请在此处查看我的答案绑定数据网格';s CellTemplate内容转换为在模板化CustomControl上定义的Element或DependencyProperty。
只需更改像这样的数据模板
<DataTemplate x:Key="template2">
<Viewbox>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Funky: "/>
<TextBlock Text="{Binding Path=Test, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type local:CustomControl1}}}"/>
</StackPanel>
</Viewbox>
</DataTemplate>
使包含的文本增大/缩小以适应视图框。
或者简单地这样做:
<DataGrid.Columns>
<DataGridTemplateColumn Header="Test">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Viewbox>
<TextBlock Text="{Binding Name}"/>
</Viewbox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>