Wpf 在代码隐藏中获取控件{StaticResource{x:Type TextBlock}}的样式
我想为代码隐藏中的Wpf 在代码隐藏中获取控件{StaticResource{x:Type TextBlock}}的样式,wpf,styles,default,code-behind,Wpf,Styles,Default,Code Behind,我想为代码隐藏中的TextBlock获取默认Style,而不必向XAML中的资源添加自定义默认TextBlockStyle 我有一个这样的方法: public TextBlock DrawTextBlockAtPoint(string text, Style style) { //... } 我想提供一个只使用常规TextBlock样式的覆盖: public TextBlock DrawTextBlockAtPoint(string text) { var style = Get
TextBlock
获取默认Style
,而不必向XAML
中的资源添加自定义默认TextBlock
Style
我有一个这样的方法:
public TextBlock DrawTextBlockAtPoint(string text, Style style)
{
//...
}
我想提供一个只使用常规TextBlock
样式的覆盖:
public TextBlock DrawTextBlockAtPoint(string text)
{
var style = GetDefaultStyleForProperty(TextBlock.StyleProperty);
DrawTextBlockAtPoint(text, style)
}
还有其他方法可以这样做吗?标记扩展实际上是尝试为defines键查找资源。如果可以使用以下方法检索TextBlock类型的默认样式:{StaticResource{x:type TextBlock}
,则应该可以使用以下方法在代码中获取它:
var defaultTextBlockStyle = FindResource(typeof(TextBlock));
当然,这需要在定义FindResource方法的上下文中调用。我在我的主窗口类中使用了它,它可以工作
希望这有帮助。这帮了大忙:typeof
并使用声明样式的容器(我的案例是StackPanel
,之前我在窗口上使用了FindResource
,但它不起作用)。