zoukankan      html  css  js  c++  java
  • 界面开发控件DevExpress WPF开发指南

    下载DevExpress v20.2完整版 

    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:ListBoxEdit 
    ItemsSource="{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      欢迎一起进群讨论

  • 相关阅读:
    Java锁---偏向锁、轻量级锁、自旋锁、重量级锁
    Java自旋锁
    设计模式的原则
    CGLIB介绍与原理(通过继承的动态代理)
    Android Messenger
    Android AIDL的用法
    长连接和短连接和推送
    Java对称加密算法
    Android 热修复技术中的CLASS_ISPREVERIFIED问题
    Java类加载器
  • 原文地址:https://www.cnblogs.com/AABBbaby/p/14333391.html
Copyright © 2011-2022 走看看