Silverlight: установить свойство DateTime через XAML? - PullRequest
3 голосов
/ 06 марта 2012

У меня есть класс с полем DateTime:

public class TimelineObject : FrameworkElement
    {
        private DateTime date;
        public DateTime Date
        {
            get { return date; }
            set { date = value; }
        }
    }

Когда я пытаюсь установить дату в XAML следующим образом

<TimelineObject Date="3/1/2011"/>

Я получаю исключение XAMLParseException:

Failed to create a 'System.DateTime' from the text '3/1/2011'. 

Насколько я вижу, формат строки правильный (ShortDatePattern, как описано здесь ).Что я делаю не так?

1 Ответ

3 голосов
/ 06 марта 2012

Попробуйте создать TypeConverter для типа DateTime, который преобразует DateTime в / из строковых значений, и укажите его с помощью TypeConverterAtrribute для вашего свойства Date.Будьте осторожны, лучше всего используйте InvariantCulture в пользовательском TypeConverter.В другом случае у вас по-прежнему будут проблемы на клиентских компьютерах, которые могут использовать другие настройки культуры.

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