2016-04-15 10 views
2

言うことですが、デフォルトでは、すべてのスクロールバーの背景プロパティを赤にしたいとします。指定されたタイプのすべてのコントロールのデフォルトプロパティを設定します。

Control.BackgroundProperty.OverrideMetadata(typeof(ScrollBar), 
    new FrameworkPropertyMetadata(Brushes.Red, 
     FrameworkPropertyMetadataOptions.Inherits)); 

そして、このdoesnの:私はアプリクラスのコンストラクタのどこかにこのコードを書いて、今

<ScrollBar Background="Red" /> 

私は効果がこのXAMLの結果に類似してほしいです実行中のウインドウ上のスクロールバーは赤色ではなく、正常です。

私はここで何か間違っていると思っていますが、正確に何かを見つけることはできません。誰かが私に解決策を教えてもらえますか?

答えて

2

あなたはあなたのアプリケーション・リソースのデフォルトのスタイルを探しています:迅速REPONSEため

<Application.Resources> 
    <Style TargetType="ScrollBar"> 
     <Setter Property="Background" Value="Red"/> 
    </Style> 
</Application.Resources> 
+0

感謝。しかし、私のアプローチに何が間違っているかを知っているかもしれません。私はそれが同じように動作してはならない理由は見当たりません。 – kosmakoff

+0

フレームワークには、Backgroundプロパティを設定するデフォルトのScrollBarスタイルがあります。スタイルセッターのプロパティ値は、プロパティメタデータのデフォルト値よりも優先されます。 – Clemens

+0

私は決してその優先順位のリストに対してこのことをチェックしようとはしませんでした。ありがとう。 – kosmakoff

関連する問題