C# 资源字典中的Metro样式
我正在尝试用Mahapps Metro设计我的WPF应用程序。我已经在App.xaml的C# 资源字典中的Metro样式,c#,wpf,xaml,mahapps.metro,C#,Wpf,Xaml,Mahapps.metro,我正在尝试用Mahapps Metro设计我的WPF应用程序。我已经在App.xaml的MergedDictionary中添加了所有需要的.xaml文件。如果在视图文件中写入以下内容 <Button DockPanel.Dock="Left" VerticalAlignment="Top" Style="{DynamicResource SquareButtonStyle}"/> 我收到一条错误消息 属性的设置 “System.Windows.ResourceDictionary.
MergedDictionary
中添加了所有需要的.xaml文件。如果在视图文件中写入以下内容
<Button DockPanel.Dock="Left" VerticalAlignment="Top" Style="{DynamicResource SquareButtonStyle}"/>
我收到一条错误消息
属性的设置
“System.Windows.ResourceDictionary.DeferrableContent”已导致
例外
(我对德语错误信息的处理)。那么,我如何设置所有按钮的样式,例如,使用SquareButtonStyle
,而不必对每个按钮单独进行设置
编辑:这是我的app.xaml(最后一本字典ResourceDic.xaml是我自己的字典,上面的代码是):
Style
属性不能在任何元素的Style
内设置。
只需在根级别(根资源字典或App.xmal资源)声明您的样式。只需使用TargetType
按钮创建样式
不给它任何键。它将应用于应用程序中的所有按钮
例如:
<Style TargetType="Button" BasedOn="{StaticResource SquareButtonStyle}" >
<Setter Property="Height" Value="50"/>
<Setter Property="BorderThickness" Value="2,1" />
</Style>
然后,只有您可以基于ResourceDictionary中的
SquareButtonStyle
创建按钮样式。style
属性不能在任何元素的style
内设置。
只需在根级别(根资源字典或App.xmal资源)声明您的样式。只需使用TargetType
按钮创建样式
不给它任何键。它将应用于应用程序中的所有按钮
例如:
<Style TargetType="Button" BasedOn="{StaticResource SquareButtonStyle}" >
<Setter Property="Height" Value="50"/>
<Setter Property="BorderThickness" Value="2,1" />
</Style>
然后,只有您可以基于ResourceDictionary中的
SquareButtonStyle
创建按钮样式。我不想自己声明样式SquareButtonStyle
是Mahapps Metro的预定义样式。抱歉,请参阅我的更新答案。您可以使用StyleThreaded的baseon属性BasedOn=“{StaticResource SquareButtonStyle}”
和BasedOn=“{DynmicResource SquareButtonStyle}”
-我仍然收到错误…您能给我SquareButtonStyle吗?您删除了Style=“{DynamicSource SquareButtonStyle}根据您的按钮定义?我不想自己声明样式。SquareButtonStyle
是Mahapps Metro的预定义样式。抱歉,请查看我的更新答案。您可以使用StyleThreaded的baseon属性BasedOn=“{StaticResource SquareButtonStyle}
和BasedOn=“{DynMircource SquareButtonStyle}”“
-我仍然得到错误…您能给我SquareButtonStyle吗?您是否已从按钮定义中删除Style=“{DynamicResource SquareButtonStyle}”?
<Style TargetType="Button" BasedOn="{StaticResource SquareButtonStyle}" >
<Setter Property="Height" Value="50"/>
<Setter Property="BorderThickness" Value="2,1" />
</Style>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="SquareButtonStyle dictionary"/>
</ResourceDictionary.MergedDictionaries>