WPF Datagrid 数字类型居右显示

it_liang it_liang 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
项目中有大量的表格,想写个样式统一处理将数字居右显示!
public class DemoConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (values[1] is System.Data.DataRow)
{
//change the text alignment left or right.
var cell = (System.Windows.Controls.DataGridCell)values[0];
var row = (System.Data.DataRow)values[1];
var columnName = cell.Column.SortMemberPath;

if (row[columnName] is int || (row[columnName] is decimal || row[columnName] is double))
return System.Windows.HorizontalAlignment.Right;
}
return System.Windows.HorizontalAlignment.Left;
}

public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
return null;
}
}

<converts:DemoConverter x:Key="DemoConverter"></converts:DemoConverter>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="HorizontalAlignment">
<Setter.Value>
<MultiBinding Converter="{StaticResource DemoConverter}" >
<MultiBinding.Bindings>
<Binding RelativeSource="{RelativeSource Self}"/>
<Binding Path="Row" Mode="OneWay"/>
</MultiBinding.Bindings>
</MultiBinding>
</Setter.Value>
</Setter>
</Style>

<Binding Path="Row" Mode="OneWay"/> 其中的Row我该怎么改?以上代码是在网上找的例子!
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
it_liang
WPF/Silverlight 8,757 成员 12,031 内容