“FontWeight”的TypeConverter不支持从字符串转换

时间:2012-08-17 11:05:48

标签: .net silverlight xaml visual-studio-2012 typeconverter

安装Visual Studio 2012并打开Silverlight 5项目后,我收到与TypeConverter相关的各种设计时错误,例如:

  

“FontWeight”的TypeConverter不支持从字符串转换。

     

“Point”的TypeConverter不支持从字符串转换。

     

“厚度”的TypeConverter不支持从字符串转换。

然而,这不是一个详尽的清单。

这些例子如下:

<Setter Property="FontWeight" Value="Bold" />

<RadialGradientBrush GradientOrigin="0.5,0.5"> ...

<Setter Property="Padding" Value="0" />

我是否遗漏了一些明显的东西,或者这是一个错误?

3 个答案:

答案 0 :(得分:12)

我遇到了同样的问题:在资源部分

中定义
<UserControl.Resources>
  <local:MyConverter x:Key="myConverter"/>
</UserControl.Resources>

在XAML UE中,我不得不改变

...Width="{Binding BindingProperty, Converter=myConverter}"...

...Width="{Binding BindingProperty, Converter={StaticResource myConverter}..."

答案 1 :(得分:1)

有一个类似的问题:

The TypeConverter for "Thickness" does not support converting from a string

此XAML文件中未使用转换器

这是一个从SL4转换为SL5的银光项目(Prism)。但似乎还有更多的事情发生,我也会遇到这样的错误:

The specified value cannot be assigned to the collection. The following type was expected: "Inline".

当像这样使用TextBlock时:

<TextBlock>Hello</TextBlock>

要摆脱这个错误:

<TextBlock Text="Hello" />

启动应用程序以查看XAML更改的结果有点麻烦

答案 2 :(得分:1)

我遇到了同样的问题,这让我很生气!对我而言,它与Silverlight Toolkit有关,一旦我补充说我开始收到大量这些错误。

在我的项目文件中(右键单击 - &gt;编辑项目文件)我引用了这样的工具包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" />

希望有所帮助, 约翰