TypeConverter для "FontWeight" не поддерживает преобразование из строки
После установки Visual Studio 2012 и открытия проекта Silverlight 5 я получаю различные ошибки времени проектирования, связанные с TypeConverter, например:
TypeConverter для "FontWeight" не поддерживает преобразование из строки.
TypeConverter для "Point" не поддерживает преобразование из строки.
TypeConverter для "Толщины" не поддерживает преобразование из строки.
Однако это не исчерпывающий список.
Примерами таких:
<Setter Property="FontWeight" Value="Bold" />
<RadialGradientBrush GradientOrigin="0.5,0.5"> ...
<Setter Property="Padding" Value="0" />
Я пропустил что-то очевидное здесь, или это ошибка?
Ответы
Ответ 1
У меня была та же проблема: определена в разделе ресурсов
<UserControl.Resources>
<local:MyConverter x:Key="myConverter"/>
</UserControl.Resources>
В XAML UE мне пришлось изменить
...Width="{Binding BindingProperty, Converter=myConverter}"...
к
...Width="{Binding BindingProperty, Converter={StaticResource myConverter}..."
Ответ 2
Возникла проблема:
The TypeConverter for "Thickness" does not support converting from a string
Нет конвертеров, используемых в этом файле XAML
Это проект Silverlight (Prism), который был преобразован из SL4 в SL5. Но, похоже, происходит больше, я также получаю такие ошибки:
The specified value cannot be assigned to the collection. The following type was expected: "Inline".
Когда TextBlock используется следующим образом:
<TextBlock>Hello</TextBlock>
Чтобы избавиться от этой ошибки:
<TextBlock Text="Hello" />
Немного громоздко запустить приложение, чтобы увидеть результат изменений XAML
Ответ 3
У меня была такая же проблема, и это сводило меня с ума! Для меня это имело отношение к Silverlight Toolkit, как только я добавил, что начал получать тонны этих ошибок.
В моем файле проекта (щелкните правой кнопкой мыши- > Редактировать файл проекта) я ссылался на DLL инструментария, как это (относительно исходного каталога в моем случае):
<Reference Include="System.Windows.Controls.Toolkit">
<HintPath>..\..\..\Bin\System.Windows.Controls.Toolkit.dll</HintPath>
</Reference>
Поменяв его на это, похоже, он сортировал его (я не уверен, нужны ли внутренние компоненты, но новый проект с добавленным SL5 и добавленным инструментарием, похоже, исправил его):
<Reference Include="system.windows.controls.toolkit, Version=5.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Windows.Controls.Toolkit.Internals, Version=4.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
Надеюсь, что это поможет,
Джон