安装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" />
我是否遗漏了一些明显的东西,或者这是一个错误?
答案 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" />
希望有所帮助, 约翰