ContentPresenter的不同Margin属性值取决于主题(XAML)

时间:2014-10-18 02:37:49

标签: wpf xaml

我不知道如何将固定值设置为MarginContentPresenter的{​​{1}}属性。

我正在使用Telerik WPF库来切换UI主题。到目前为止,一切看起来都不错,但是当我 切换到主题(Visual Studio 2013主题),按钮的内容变得太小。

当我使用XAML工具进行调查时,主题会在内部将Snoop的Margin属性更改为大值,然后内容大小会变小。

有没有办法在我的代码中不使用ContentPresenter块的情况下将Margin属性值ContentPresenter修复为我自己(例如,将值修复为3)? (例如...... ControlTemplate的样式设定者...)

以下代码实际上是我想要的,但我不应该在我的代码中使用ContentPresenter.Margin块...

ControlTemplate

1 个答案:

答案 0 :(得分:0)

您应该可以通过指定TargetType而不是x:Key来设置隐式样式。

例如,以下内容应使Margin中的ContentPresenter属性等于Window<Window.Resources> <Style TargetType="{x:Type ContentPresenter}"> <Setter Property="Margin" Value="3" /> </Style> </Window.Resources> 内的BasedOn属性,除非另一个属性设置器具有更高的DependencyPropertyPrecedence

<Style TargetType="{x:Type ContentPresenter}" 
       BasedOn="{StaticResource {x:Type ContentPresenter}}">

如果要保留基本样式的某些方面,可以使用<Style TargetType="{x:Type ContentPresenter}" BasedOn="{StaticResource BaseStyleKey}"> 样式属性从基础样式继承所有其他属性

{{1}}

{{1}}