在XAML中通过字符串常量设置自定义类型属性-就像画笔实例的颜色属性一样

本文关键字:属性 实例 画笔 颜色 一样 XAML 字符串 常量 类型 自定义 设置 | 更新日期: 2023-09-27 18:15:34

考虑以下代码:

[Serializable]
public class Region
{
   public double North {get; set;}
   public double South {get; set;}
   public double East {get; set;}
   public double West {get; set;}
   public static Region Europe { get { return new BoundingBox() { North= 71, South= 36, East= 42, West= -9 }; } }
   public static Region GulfMexico { get { return new BoundingBox() { North = 30, South = 18, East = -97, West = -80 }; } }
   public static Region Australia { get { return new BoundingBox() { North = -11, South = -40, East = 154, West = 114 }; } }
   public static Region ...
}
public class MyClass
{
    public Region SelectedRegion { get; set; }
}

我想在XAML中创建一个MyClass实例,并通过以下两种方式设置其selecteregion属性,就像我们在设置Grid.Background时可以使用Brush -es一样:

:

   <MyClass>
        <MyClass.SelectedRegion>
            <Region North ="5" South = "6" East = "7" West = "8"/>
        </MyClass.SelectedRegion>
    </MyClass>
第二:

<MyClass SelectedRegion = "Australia"/>
当然,第一种设置selecteregion的方法是有效的。我需要在我的代码中添加什么来促进第二种方式?

在XAML中通过字符串常量设置自定义类型属性-就像画笔实例的颜色属性一样

您需要创建一个将字符串("Australia")转换为Region类型实例的TypeConverter。请参阅以下链接了解如何做到这一点:http://msdn.microsoft.com/en-us/library/aa970913.aspx.