WPF Datagrid 数字类型居右显示

it_liang 2016-02-25 02:27:22
项目中有大量的表格,想写个样式统一处理将数字居右显示!
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我该怎么改?以上代码是在网上找的例子!
...全文
384 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
exception92 2016-02-29
  • 打赏
  • 举报
回复
这个属性是集合对象的属性,datagrid 会通过此属性 一层一层的向上需找,直到找到 绑定到行对象上的类对象。
it_liang 2016-02-29
  • 打赏
  • 举报
回复
引用 4 楼 duanzi_peng 的回复:
[quote=引用 3 楼 L_ZhiWei 的回复:] [quote=引用 2 楼 duanzi_peng 的回复:] Row 指定的就是绑定对象的某个属性。
表格在项目中有很多,有没有什么办法,不添加属性就能将其功能实现!就像这种类似的方法,写一个转换器和样式就能解决掉![/quote] 不添加属性 怎么知道 是数字类型或者其它类型[/quote] 在弱弱的问一句,他这个属性咋加的啊!
it_liang 2016-02-26
  • 打赏
  • 举报
回复
咋没人回复啊!
exception92 2016-02-26
  • 打赏
  • 举报
回复
引用 3 楼 L_ZhiWei 的回复:
[quote=引用 2 楼 duanzi_peng 的回复:] Row 指定的就是绑定对象的某个属性。
表格在项目中有很多,有没有什么办法,不添加属性就能将其功能实现!就像这种类似的方法,写一个转换器和样式就能解决掉![/quote] 不添加属性 怎么知道 是数字类型或者其它类型
it_liang 2016-02-26
  • 打赏
  • 举报
回复
引用 2 楼 duanzi_peng 的回复:
Row 指定的就是绑定对象的某个属性。
表格在项目中有很多,有没有什么办法,不添加属性就能将其功能实现!就像这种类似的方法,写一个转换器和样式就能解决掉!
exception92 2016-02-26
  • 打赏
  • 举报
回复
Row 指定的就是绑定对象的某个属性。

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧