Установка пользовательских типизированных свойств с помощью строковых констант в XAML - так же, как экземпляры Brush для свойств цвета - PullRequest
0 голосов
/ 23 ноября 2011

Рассмотрим следующий код:

[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; }
}

Я хотел бы создать экземпляр MyClass в XAML и установить его свойство SelectedRegion обоими следующими способами, как мы можем сделать с Brush -e, когданастройка Grid.Background:

Первый:

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

Второй:

<MyClass SelectedRegion = "Australia"/>

Первый способ настройки SelectedRegion работает, конечно. Что мне нужно добавить в мой код, чтобы облегчить второй путь ?

1 Ответ

0 голосов
/ 23 ноября 2011

Вам необходимо создать TypeConverter, который будет преобразовывать строку («Австралия») в экземпляр типа Region.Смотрите следующую ссылку, чтобы узнать, как это сделать: http://msdn.microsoft.com/en-us/library/aa970913.aspx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...