5 wpf styles default code-behind
我想获取后面代码的默认值Style,TextBlock而无需TextBlock Style在资源中添加自定义默认值XAML.
我有一个像这样的方法:
public TextBlock DrawTextBlockAtPoint(string text, Style style)
{
//...
}
Run Code Online (Sandbox Code Playgroud)
我想提供一个只使用常规的覆盖TextBlock Style:
public TextBlock DrawTextBlockAtPoint(string text)
{
var style = GetDefaultStyleForProperty(TextBlock.StyleProperty);
DrawTextBlockAtPoint(text, style)
}
Run Code Online (Sandbox Code Playgroud)
反正有没有这样做?
在静态资源标记扩展实质上是尝试以找到定义了关键的资源.如果可以使用以下方法检索TextBlock类型的默认样式:{StaticResource {x:Type TextBlock}}您应该能够使用以下代码在代码中获取它:
var defaultTextBlockStyle = FindResource(typeof(TextBlock));
Run Code Online (Sandbox Code Playgroud)
当然,这需要在定义FindResource方法的上下文中调用.我在我的主Window类中使用它并且它可以工作.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
4385 次 |
| 最近记录: |