それぞれに、それぞれのコントロールの基本クラスを持つカスタムコントロールのコレクションがあります。それらはそれぞれ異なる基本コントロールを持っているため、まったく同じ依存関係プロパティを共有することはできません。依存関係プロパティを相互にカスケードできるようにリンクすることは可能ですか? (私が正しく文法ワイズ用語カスケードを使用している場合はわからない)異なるコントロールタイプの依存関係プロパティ値の継承を実装する方法
public class RCTWindow : ContentControl {
public static readonly DependencyProperty RemapColorProperty =
DependencyProperty.RegisterAttached(
"RemapColor",
typeof(RemapColors),
typeof(RCTWindow),
new FrameworkPropertyMetadata(
RemapColors.SeaGreen,
FrameworkPropertyMetadataOptions.Inherits | FrameworkPropertyMetadataOptions.BindsTwoWayByDefault,
new PropertyChangedCallback(OnVisualChanged)));
//...
}
public class RCTButton : Button {
public static readonly DependencyProperty RemapColorProperty =
DependencyProperty.RegisterAttached(
"RemapColor",
typeof(RemapColors),
typeof(RCTButton),
new FrameworkPropertyMetadata(
RemapColors.SeaGreen,
FrameworkPropertyMetadataOptions.Inherits | FrameworkPropertyMetadataOptions.BindsTwoWayByDefault,
new PropertyChangedCallback(OnVisualChanged)));
//...
}
ここXAMLです。親コントロールの再マップ色を設定するとき、ボタンはデフォルトでカスケードしません。
<local:RCTWindow RemapColor="IndianRed">
<local:RCTButton/>
</local:RCTWindow>
ここで実際に継承を話しているようには聞こえません。プロパティの値を親から子に「カスケード」したいのと同じように聞こえますが、CSSの仕組みと同様に正しいですか? 'RCTWindow'で設定した' RemapColor'値を 'RCTButton'に表示します。 –
はい、これは正しいです、私はそれの正しい言葉を理解していないと思います。私はタイトルと説明を更新します。 –
私は "親から子へのコントロールからDependancyPropertyの値をカスケードする方法"を提案します。私は実際の公式の名前があるかどうかはわかりません。 –