WPF转换器添加

1、编写转换器类

namespace Eastups.Utility.Converters
{
    public class MenuNameConvert : IValueConverter
    {
        #region Public Property

        public IList<MenuInfo> DataSource = new List<MenuInfo>();

        #endregion

        #region public Methods
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            string menuName = string.Empty;

            try
            {
                int menuId = (int)value;

                menuName = DataSource.Where(o => o.ID == menuId).FirstOrDefault().Menu_Name;
            }
            catch (Exception ex)
            {
                Eastups.Utility.Logger.Write(LogType.Error, ex.Message.ToString());
            }

            return menuName;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}

2、在页面后台添加资源

   private void AddResources()
        {
            try
            {
                //Add Resources
                Eastups.Utility.Converters.MenuNameConvert converter = new Eastups.Utility.Converters.MenuNameConvert();
                converter.DataSource = new MenuLogic().GetMenus();
                this.Resources.Add("MenuName", converter);
            }
            catch (Exception ex)
            {
                Eastups.Utility.Logger.Write(LogType.Error, ex.Message.ToString());
            }
        }

3、在页面前台绑定资源

      (1)、StaticResource 资源名称为在后台添加的名称:MenuName

      (2)、Width="3*" 表示列宽度会按照宽度比例显示。

 <dxg:GridControl.Columns>
                                    <dxg:GridColumn Header="菜单名称"  Binding="{ Binding Menu_ID,Converter={StaticResource MenuName}}" Width="3*"/>
                                    <dxg:GridColumn Header="导引名称" FieldName="Navigation_Name"  Width="3*"/>
                                    <dxg:GridColumn Header="模板名称" FieldName="Template_Name"  Width="3*" />
                                </dxg:GridControl.Columns>









猜你喜欢

转载自blog.csdn.net/wxstar8/article/details/78104738
今日推荐