私はXAMLで書かれたかなりシンプルなカスタムコントロールを持っていますが、色を変更できるようにいくつかの依存プロパティを書き込む際に問題があります。ここでXAMLカスタムコントロール - カラープロパティバインド
は、私たちが興味を持っているコントロールのビットがある。
<Viewbox>
<Path Name="shape" Fill="Gray" Data="abc"/>
</Viewbox>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="shape" Property="Fill" Value="Gold" />
</Trigger>
</ControlTemplate.Triggers>
私が達成したい私は私の属性として変更することができます何かに塗りつぶしのここ(グレーとゴールド)を交換することですコントロールを使用します。
だから私は、私は、MVA 1を含むいくつかの異なるビデオを試してみましたが、私は私が間違っているつもりだ場所がわからないんだけど、この
<MyControl BackColor="Blue" ForeColor="Red" />
で終わることができました。
この依存関係プロパティを試しました。
public Color BackgroundColor
{
get { return (Color)GetValue(BackgroundColorProperty); }
set { SetValue(BackgroundColorProperty, value); }
}
// Using a DependencyProperty as the backing store for MyProperty. This enables animation, styling, binding, etc...
public static readonly DependencyProperty BackgroundColorProperty =
DependencyProperty.Register("BackgroundColor", typeof(Color), typeof(StarRatingControl), new PropertyMetadata(Color.FromRgb(0,0,0)));
、その後
Fill="{TemplateBinding BackgroundColor}"
を使用してしかし、私はちょうど次のエラーを取得:
"静的メンバ型 'トグルボタン' オン 'BackgroundColorProperty' が見つかりません"
と
「メンバー 『BackgroundColorを』認識されないか、アクセスできません。」
いずれもXAMLファイルであり、CSファイルではありません。
私が間違っている場所を助けたり説明したりできますか?
さらにコードを入力してください。私は何がうまくいかないのか想像することができますが、それは推測として結果になるでしょう – lokusking
メモとして、プロパティの種類は、カラーではなくブラシでなければなりません。 – Clemens