WPF Xmal 可以运行界面报错无法显示

解决WPF Xmal 可以运行界面报错无法显示 问题

程序开发过程中 ,有时候数据格式不满足标准格式,但自己对底层数据转换已做过处理,程序正常运行,但是 XAML界面中一直报数据类型不支持错误,导致整个 XMAL 页面无法正确显示。如下所示:
WPF Xmal 可以运行界面报错无法显示_第1张图片
这里我定义了一个 StringToHuman 的类,但是在UI我通过字符串对类进行赋值,正常情况下肯定报错,但是通过重写和特性已经将该类赋予了可通过字符串转换的能力。程序可以正常执行,但是 页面无法正常显示 ,这时候通过设置VS修复错误。在选项-环境-预览功能里,勾选适用于 .NET Framework的新版WPF XMAL设计器,重启vs,即可解决问题。

using System.Text;
using System.Threading.Tasks;

namespace WPFStudy
{
    [TypeConverterAttribute(typeof(StringToHumanTypeConverter))]
   public  class StringToHuman
    {
        public string Name { get; set; }

        public StringToHuman Child { get; set; }
    }
}

注意一定要关闭重新打开,打开后报错修复,页面正常显示。
WPF Xmal 可以运行界面报错无法显示_第2张图片
恢复正常如下图:
WPF Xmal 可以运行界面报错无法显示_第3张图片
转换过程 实现代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WPFStudy
{
    public class StringToHumanTypeConverter:TypeConverter
    {
        public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
        {
            if(value is string)
            {
                StringToHuman stringToHuman = new StringToHuman();
                stringToHuman.Name = value as string;
                return stringToHuman;
            }
            return base.ConvertFrom(context, culture, value);
        }
    }
}`

你可能感兴趣的:(WPF,wpf)