界面开发控件DevExpress WPF使用教程:如何自定义RadioListFilterElement文本

DevExpress WPF Subscription拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序,本文将为大家介绍如何自定义RadioListFilterElement文本。

    

DevExpress WPF Subscription拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。

问题

有一个用数据填充的GridControl和一个RadioListFilterElement,它引用网格为特定字段提供过滤器控件。 这可以正常工作,但是有一种情况需要RadioListFilterElement显示与实际过滤的值不同的值。 例如,有问题的字段称为StatusID,在数据库中可能的值为:

  • ‘A’
  • ‘D’
  • ‘S’

但是在RadioListFilterElement中,想像这样显示它们:

  • ‘Active’
  • ‘Deleted’
  • ‘Suspended’

可以在文本框或类似控件的上下文中通过简单地使用转换器来执行此操作,但是在FilterElement的情况下,无法找到使其工作的方法。

当前过滤器元素:

XAML

<dxfui:RadioListFilterElement Context="{Binding FilteringContext, ElementName=UserListingGrid}" FieldName="StatusID" ></dxfui:RadioListFilterElement>

当前过滤器元素:

C#

class UserStatusIDConverter : IValueConverter{public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture){if(value != null){if(value.ToString() == "A"){return "ACTIVE";}if (value.ToString() == "D"){return "DELETED";}if (value.ToString() == "S"){return "SUSPENDED";}}return false;}public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture){if(value == null){return false;}if(value.ToString() == "ACTIVE"){return "A";}else if(value.ToString() == "DELETED"){return "D";}else if (value.ToString() == "SUSPENDED"){return "S";}return false;}}
解决方案

最简单的方法是为过滤器元素创建自定义表示形式,可以使用FilterModelTemplate属性来实现。 例如:

XAML

<dxfui:RadioListFilterElement Context="{Binding FilteringContext, ElementName=grid}" FieldName="Name"><dxfui:RadioListFilterElement.FilterModelTemplate><DataTemplate><dxe:ListBoxEditItemsSource="{Binding FilterValues}"SelectedItem="{Binding SelectedFilterValue}"ShowCustomItems="True"><dxe:ListBoxEdit.ItemTemplate><DataTemplate><TextBlock Text="{Binding Value, Converter={...}}" /></DataTemplate></dxe:ListBoxEdit.ItemTemplate><dxe:ListBoxEdit.StyleSettings><dxe:RadioListBoxEditStyleSettings /></dxe:ListBoxEdit.StyleSettings></dxe:ListBoxEdit></DataTemplate></dxfui:RadioListFilterElement.FilterModelTemplate></dxfui:RadioListFilterElement>

上DevExpress中文网,获取第一手最新产品资讯!

DevExpress技术交流群3:700924826      欢迎一起进群讨论

高端UI界面开发
标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月23日
下一篇 2021年1月23日

相关推荐

发表回复

登录后才能评论