0

基本クラス コントロールのセットアップの詳細をカプセル化するいくつかのラッパー クラスを作成していますが、基本クラスのスタイルを使用したいと考えています。次のxamlでこれを達成できます:

<Style TargetType="{x:Type bc:DerviedClass}" BasedOn="{StaticResource {x:Type etk:BaseClass}}"/>

クライアント プログラマーがこの行を xaml コードに追加する必要がないように、xaml を使用しないことをお勧めします。C#でこれを行う方法はありますか?

ありがとう

4

2 に答える 2

0

カスタムコントロールのスタイルを設定するには、Themes/generic.xamlファイルを使用したスタイリング/テーマを検討する必要があります。

  1. generic.xamlを使用する際の注意事項:
    • リソースにはgeneric.xamlという名前を付け、Themes(大文字と小文字を区別する)というフォルダーに入れる必要があります
    • AssemblyInfo.csにはThemeInfo属性が必要です
      • [アセンブリ:ThemeInfo(ResourceDictionaryLocation.SourceAssembly、ResourceDictionaryLocation.SourceAssembly)]

このテーマは、誰かが使用するたびにデフォルトになります。

于 2012-01-11T20:05:06.233 に答える
0

私はこれに対する解決策を見つけました:

Style s = (Style)derivedObj.FindResource(baseType);

if(s != null)
{
    Style derivedStyle = new Style(derivedObj.GetType(), s);
    derivedObj.Style = derivedStyle;
}
于 2012-02-16T02:03:43.533 に答える