听起来非常简单,这让我很伤心!
我正在尝试使用一个带有来自外部程序集的ResourceDictionary的样式的usercontrol,但是我在运行时遇到异常。
以下是如何重现:
创建一个名为SuperControl的用户控件:
<UserControl.Resources>
<ResourceDictionary Source="MyControls;component/Styles.xaml" x:Key="Styles" />
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="White">
<TextBlock Style="{StaticResource MyStyle}" Text="Hello"/>
</Grid>
创建Styles.xaml ResourceDictionary并添加:
<Style x:Key="MyStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="15"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="TextWrapping" Value="Wrap"/>
<Setter Property="Margin" Value="0,15,0,4"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
</Style>
创建一个名为SL的Silverlight应用程序并添加Mycontrols作为参考
在MainPage.xaml网格中,添加:
<MyControls:SuperControl />
它会编译,但运行应用程序时会出现“无法分配给属性'System.Windows.ResourceDictionary.Source'。[Line:10 Position:36]”
我将此添加到应用程序的App.xaml
<ResourceDictionary Source="/MyControls;component/Styles.xaml" />
同样的错误...... :(
有什么想法?
答案 0 :(得分:0)
第2步。 你忘了/。
源= “MyControls;组件/ Styles.xaml”
写
源= “/ MyControls;组件/ Styles.xaml”