c#-将对象强制转换为float类型,但看起来像struct System.Single

我的代码如下所示,并且float是Control.CornerRadius的数据类型:

Application.Current.Resources.TryGetValue("RoundButtonSize", out object size);
control.CornerRadius = ((float)size) / 2;

但是,当我在第二行进行强制转换时,它表示无效的强制转换,当我在此处进行检查时,我发现它没有强制转换为浮点数:

var a = (float)size ;

它说a的数据类型是Struct System.Single

有人可以告诉我演员阵容我做错了什么吗?

解决方法:

CornerRadius接受参数Double.Single Struct是浮点数.

control.CornerRadius = ((float)size) / 2;

应该读:

control.CornerRadius = new CornerRadius((double)size/2);

我认为这

It says that the datatype of a is Struct System.Single

适用于CornerRadius,而不是var a.

我不知道你在做什么

var a = (float)size ;
上一篇:[UWP]使用CompositionLinearGradientBrush实现渐变画笔并制作动画


下一篇:UWP 使用FontIcon