WPF DataGrid 如何合并内容相同的单元格
遇到两个问题:1.WPFDataGrid如何合并内容相同的单元格,需要后台动态设定方式,因为我的DataGrid是后台代码动态创建的2.我在DataGrid_Loadin...
遇到两个问题:1.WPF DataGrid 如何合并内容相同的单元格,需要后台动态设定方式,因为我的DataGrid是后台代码动态创建的
2.我在DataGrid_LoadingRow事件中 为e.Row行对象赋值:e.Row.HorizontalContentAlignment = HorizontalAlignment.Left; 但是窗体上的单元格文本没有任何对齐反应,用网上查的获取单个单元格的方法 对DataGridCell.HorizontalContentAlignment = HorizontalAlignment.Left; 也同样没有效果,如何按行设定内容居中等对齐方式呢,同样需要后台动态设定方式 展开
2.我在DataGrid_LoadingRow事件中 为e.Row行对象赋值:e.Row.HorizontalContentAlignment = HorizontalAlignment.Left; 但是窗体上的单元格文本没有任何对齐反应,用网上查的获取单个单元格的方法 对DataGridCell.HorizontalContentAlignment = HorizontalAlignment.Left; 也同样没有效果,如何按行设定内容居中等对齐方式呢,同样需要后台动态设定方式 展开
1个回答
展开全部
第二个问题的解决方法我还是觉得用DataGridTemplateColumn比较好解决。拿前轮誉隐台代码说明,后台代码建立也没啥大问题的。
<DataGridTemplateColumn >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Property1}" HorizontalAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
只要在后虚物台设定TextBlock的HorizontalAlignment就可以设置对其方式。
至于第一个问题,合腊厅并单元格比较有困难。一般只有第三方控件提供这种方法。wpf的datagrid是做不到的。
<DataGridTemplateColumn >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Property1}" HorizontalAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
只要在后虚物台设定TextBlock的HorizontalAlignment就可以设置对其方式。
至于第一个问题,合腊厅并单元格比较有困难。一般只有第三方控件提供这种方法。wpf的datagrid是做不到的。
追问
这种按照列对齐的方式我已经用到了,可以设置表格整体的内容的对齐方式,但是现在需求是某一行,比如第一行设置自己的对齐方式,DATAGRID不好实现吗?有比较好用的免费第三方控件推荐一个也可以的
追答
我想到的一个方法是写一个转换器,然后单元格的HorizontalAlignment去绑定这个转换器,可以实现这个功能。
HorAlignmentConverter的代码:
class HorAlignmentConverter:IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
double result = (double)value;
if (result <= 10) //这里的判断条件自己设定了哈
return HorizontalAlignment.Center;
else
return HorizontalAlignment.Left;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询