Silverlight - привязка к свойствам Enum - PullRequest
0 голосов
/ 28 ноября 2010

У меня есть TextBox, который привязан к моей ViewModel. Свойство TextWrapping элемента TextBox связано со свойством в моей модели представления, которое называется DocViewerWrapText. Вот моя собственность - игнорировать биты о включении и выключении полосы прокрутки.

 public string DocViewerWrapText
{
  get { return _docViewerWrapText; }
  set
  {
    _docViewerWrapText = value;

    if (_docViewerWrapText == "Wrap")
      ShowDocViewerHorizontalScrollBar = "Disabled";
    else ShowDocViewerHorizontalScrollBar = "Auto";
    NotifyPropertyChanged("ShowDocViewerHorizontalScrollBar");
    NotifyPropertyChanged("DocViewerWrapText");
  }
}

Этот код на самом деле работает просто отлично, но выдает исключение первого шанса следующим образом:

System.Windows.Data Error: 'MS.Internal.Data.DynamicValueConverter' converter failed to convert value 'NoWrap' (type 'System.String'); BindingExpression: Path='DocViewerWrapText' DataItem='UnityEca.ViewModels.HomeViewModel' (HashCode=41697354); target element is 'Telerik.Windows.Controls.RadToggleButton' (Name='docViewerWrapText'); target property is 'IsChecked' (type 'System.Nullable`1[System.Boolean]').. System.FormatException: String was not recognized as a valid Boolean.

Я пытался преобразовать свое свойство в логическое значение, но получаю ошибку того же типа. Я также посмотрел на фактическое перечисление для перечисления TextWrapping. Значения 1 и 2, так что я не понимаю, как я мог бы использовать здесь логическое значение в любом случае.

Может кто-нибудь сказать мне, как правильно связать перечисления в XAML?

Спасибо

-Скотт

1 Ответ

1 голос
/ 28 ноября 2010

Я нашел проблему.Мне нужно было изменить средство получения / установки пропети, чтобы оно возвращало правильный тип Enum.Проблема, которая меня смутила, была логическая ошибка.Оказывается, это было из-за кнопки, которая была у меня в форме для переключения значения переноса текста.Я привязал его к тому же свойству, поэтому он не смог преобразовать значение Enum в логическое значение.

Теперь мне просто нужно выяснить, как преобразовать значения.

-Scott

...