Skip to content

小数属性

默认情况下,如果一个属性的类型是 double 那么这个属性会被自动识别为小数属性,不需要做任何额外的事情

csharp
    public class MyPluginCommand : Command
    {
        public double MyProperty { get; set; }
    }

在设计器中效果如下

1669596989552-1232fa97-d6c8-4ed6-b01e-1cc00029da5e.png

如果需要更细致的控制,需要使用 DoublePropertyAttribute 标注来控制

注意,标注DoublePropertyAttribute的属性类型必须是 double 或者 double?

  1. 控制最大值最小值
    1. 设置 DoubleProperty 的 Min 和 Max 属性
    2. 代码
csharp
    public class MyPluginCommand : Command
    {
        [DoubleProperty(Min = 0, Max = 10)]
        public double MyProperty { get; set; }
    }
3. 效果  

在设计器中MyProperty属性只能输入 1 到 10 之间的小数 4. 其他说明
如果没有设置最大值最小值,则最小值是 -1.7976931348623157E+308, 最大值是 1.7976931348623157E+308 2. 控制属性值可空 1. 设置DoubleProperty 的 AllowNull属性,Watermark属性可选 2. 代码

csharp
    public class MyPluginCommand : Command
    {
        [DoubleProperty(AllowNull = true, Watermark = "无限制")]
        public double? MyProperty { get; set; }
    }
3. 效果  

1669597099343-366c0bda-80b4-46b0-9b13-7f19c23a5580.png 4. 注意
属性的类型需要声明为 double? 而不是 double (double 后边有一个问号)

更新: 2022-11-28 08:58:22
原文: https://www.yuque.com/robert-bh51n/ea8l6c/zd4s328wptkk1cvb