我尝试在resourcedictionary中保存边距值。这样的事情:
xmlns:systemwindows =“clr-namespace:System.Windows; assembly = System.Windows.dll”[...] 0,2,2,0
<systemwindows:Thickness x:Key="DefaultMarginThickness">0,2,2,0</systemwindows:Thickness>
稍后我应该能够做到这样的事情:
<Style TargetType="TextBlock">
<Setter Property="Margin" Value="{StaticResource DefaultMarginThickness}" />
</Style>
但是当我编译资源字典时,我得到:
错误1 XML命名空间'clr-namespace:System.Windows; assembly = System.Windows.dll'中不存在标记'Thickness'。 \ XAML \ Style.Common.Values.xaml
错误2未找到“systemwindows:Thickness”类型。验证您是否缺少程序集引用,并且已构建所有引用的程序集。 \ XAML \ Style.Common.Values.xaml
在http://msdn.microsoft.com/en-us/library/system.windows.thickness%28v=vs.95%29.aspx,您可以看到System.Windows应该是正确的命名空间。为什么他没有找到班级厚度?
问候
答案 0 :(得分:0)
如果使用Visual Studio创建资源字典,则会映射默认命名空间,以便在Thickness
之前不需要前缀:
<ResourceDictionary xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Thickness x:Key="DefaultMarginThickness">0,2,2,0</Thickness>
</ResourceDictionary>
即。 URL "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
映射到System.Windows命名空间。