5

のリソースにカスタム デフォルトを追加することなくStyle、 in コード ビハインドのデフォルトを取得したいと考えています。TextBlockTextBlock 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マークアップ拡張機能は、基本的にdefineキーのリソースを見つけようとします。TextBlock タイプのデフォルトのスタイルを次を使用して取得できる場合:{StaticResource {x:Type TextBlock}}次を使用してコードで取得できるはずです。

var defaultTextBlockStyle = FindResource(typeof(TextBlock));

もちろん、これは FindResource メソッドが定義されているコンテキストで呼び出す必要があります。メインの Window クラス内で使用しましたが、動作します。

お役に立てれば。

于 2009-09-11T17:39:43.173 に答える