システムの前景色に基づいて画像に色を付ける特別なボタンを作成しようとしています。溶液の色を取得するには不透明マスクとして画像を使用してのようだと私はこのような画像を直接設定すると、それは動作します:ImageBrushをDependencyPropertyのテンプレートにバインドする
<Grid>
<Rectangle x:Name="ImageForeground" Height="48" Width="48"
Fill="{StaticResource PhoneForegroundBrush}" >
<Rectangle.OpacityMask>
<ImageBrush Stretch="Fill" ImageSource="/icons/play.png"/>
</Rectangle.OpacityMask>
</Rectangle>
</Grid>
しかし、すぐに、私は画像liteのためのDependencyPropertyでこれをテンプレートしてみてくださいとこの:このようなXAMLで
public static readonly DependencyProperty ImageProperty =
DependencyProperty.Register("Image", typeof(ImageSource),
typeof(RButton), null);
そして:
<Grid>
<Rectangle x:Name="ImageForeground" Height="48" Width="48"
Fill="{TemplateBinding Foreground}" >
<Rectangle.OpacityMask>
<ImageBrush Stretch="Fill" ImageSource="{TemplateBinding Image}"/>
</Rectangle.OpacityMask>
</Rectangle>
</Grid>
私はというエラーを取得:
私が代わりにこの<Image Source="{TemplateBinding Image}" Width="48" Height="48" />
のような画像に任意のアイデアを、それを結合テストとして
object of type 'System.Windows.CustomDependencyProperty'
cannot be converted to type 'System.Windows.DependencyProperty'
ImagePropertyは、okですか?私の勘違いはDependecyPropertyをどのように定義しているかを示していますが、私はどのように前進するのか分かりません。
うん、それは難しい方法を学んだ:) – haqwin
これのソースはありますか? DependencyObjectのDependencyPropertyがテンプレートバインディングのターゲットになり得ないと言う人は誰ですか? – McGarnagle