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

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

程序开发过程中 ,有时候数据格式不满足标准格式,但自己对底层数据转换已做过处理,程序正常运行,但是 XAML界面中一直报数据类型不支持错误,导致整个 XMAL 页面无法正确显示。如下所示:
在这里插入图片描述
这里我定义了一个 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; }
    }
}

注意一定要关闭重新打开,打开后报错修复,页面正常显示。
在这里插入图片描述
恢复正常如下图:
在这里插入图片描述
转换过程 实现代码如下:

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中的动画和样式来创建一个WIN10启动界面圆圈动画。 首先,您需要创建一个圆形形状,并将其放置在启动界面中心。您可以使用Ellipse元素来创建圆形。 接下来,您需要为圆形创建一个样式,并在其中添加动画。以下是一个示例样式: ```xaml <Window.Resources> <Style x:Key="CircleStyle" TargetType="{x:Type Ellipse}"> <Setter Property="Fill" Value="#0078D7"/> <Setter Property="Width" Value="50"/> <Setter Property="Height" Value="50"/> <Setter Property="RenderTransformOrigin" Value="0.5,0.5"/> <Setter Property="Opacity" Value="0.5"/> <Style.Triggers> <Trigger Property="IsVisible" Value="True"> <Trigger.EnterActions> <BeginStoryboard> <Storyboard RepeatBehavior="Forever"> <DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" From="0" To="360" Duration="0:0:1"/> </Storyboard> </BeginStoryboard> </Trigger.EnterActions> </Trigger> </Style.Triggers> <Setter Property="RenderTransform"> <Setter.Value> <RotateTransform Angle="0"/> </Setter.Value> </Setter> </Style> </Window.Resources> ``` 在这个样式中,我们设置了圆形的填充颜色、宽度、高度、旋转中心、透明度和旋转变换。我们还添加了一个触发器,当圆形可见时,它会启动一个旋转动画,将圆形从0度旋转到360度。该动画将无限重复。 最后,您需要在启动界面中使用这个样式来创建圆形。以下是一个示例XAML代码: ```xaml <Grid> <Ellipse Style="{StaticResource CircleStyle}" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Grid> ``` 这将在启动界面中心创建一个圆形,并在其中显示旋转动画。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌霜残雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值