TextBoxのカスタムサブクラスを作成しています。スタイルの基本部分のみを変更する必要があります。あなたがControl
のサブクラスを作成するとき今、私たちは、これは、それはもはや取得を意味しないタイプそのものであることをそのサブクラスのタイプのために使用するキーを、変更どのようにして、デフォルトコントロールのスタイルでスタイルを設定できますか?
public class EnhancedTextBox : TextBox
{
static EnhancedTextBox()
{
// Commenting this line out lets this use the default TextBox style.
DefaultStyleKeyProperty.OverrideMetadata(
typeof(EnhancedTextBox),
new FrameworkPropertyMetadata(typeof(EnhancedTextBox)));
}
}
...通常、あなたがこのようなメタデータを変更することになっている、知っていますデフォルトのTextBoxスタイル。大したことはありません...その行をコメントアウトするだけで、キーはTextBoxによって直接使用される値に設定されているので、再び動作します。我々はのスタイルでいくつかのことを変更したいなかった場合は
は、私たちは迷っている、全体ではなく、スタイルは、我々は単に新しいスタイルを作成することができますし、そのBasedOn
プロパティを設定し...しかし、我々は何をすべきかそこに設定? XAMLを手作業で取り出して新しいスタイルを作成し、キーを与えてからStaticResourceを使う必要はありませんが、これはTextBoxに基づいていますスタイル。
私は何かシンプルだと思っていますが、もう一度見つけました。誰も助けることができますか?