是的,所以我在标准的WPF Grid面板上绘制了一个看起来像DataGrid的东西。
内容控件本质上是TextBlock控件,位于Grid控件的Grid控件和列引用中,用于创建整体布局,在运行时添加并使用常用的Grid.SetRow()和Grid.SetColumn()方法
并非每个X和Y网格引用都有内容控件 - 这由网格数据的运行时定义决定。我使用偏移值来标记XY对是否是行/列的“标题”的一部分,或者网格引用是否是“数据”部分的一部分。
我试图在整个“数据”部分放置渐变背景。我正在使用带有渐变画笔设置的网格控件,如下所示:
//Grey background to show for "grey cells"
Grid greyBackground = new Grid()
{
Background = (Brush)this.Resources["BackgroundBrush"],
VerticalAlignment = System.Windows.VerticalAlignment.Stretch,
HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch,
Width = double.NaN,
Height = double.NaN,
};
greyBackground.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
greyBackground.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) });
Grid.SetColumn(greyBackground, _vm.Definition.ColumnOffset);
Grid.SetRow(greyBackground, _vm.Definition.RowOffset);
Grid.SetColumnSpan(greyBackground, _vm.Definition.Columns - _vm.Definition.ColumnOffset);
Grid.SetRowSpan(greyBackground, _vm.Definition.Rows - _vm.Definition.RowOffset);
cellGrid.Children.Add(greyBackground);
然而,这根本不可见。我不明白为什么。
我知道如何在其他“数据”控件下面显示渐变背景画控制这些行/列位置吗?