5

我想在后面的代码中获取默认值Style,而无需向 .in 中的资源TextBlock添加自定义默认值。TextBlock StyleXAML

我有这样的方法:

public TextBlock DrawTextBlockAtPoint(string text, Style style)
{
    //...
}

我想提供一个只使用常规的覆盖TextBlock Style

public TextBlock DrawTextBlockAtPoint(string text)
{
   var style = GetDefaultStyleForProperty(TextBlock.StyleProperty);
   DrawTextBlockAtPoint(text, style)
}

有没有办法做到这一点?

4

1 回答 1

9

StaticResource标记扩展本质上是尝试为定义键查找资源。如果可以使用以下方式检索 TextBlock 类型的默认样式:{StaticResource {x:Type TextBlock}}您应该能够使用以下代码在代码中获取它:

var defaultTextBlockStyle = FindResource(typeof(TextBlock));

当然,这需要在定义 FindResource 方法的上下文中调用。我在我的主 Window 类中使用它并且它有效。

希望这可以帮助。

于 2009-09-11T17:39:43.173 回答