DependencyProperty上的GradientStop颜色绑定

时间:2010-03-10 14:48:18

标签: wpf

下面,我有这些资源我想在第三个GradientStop上绑定到MyColor,MyColor是DependencyProperty但是如果我删除绑定并且放置静态颜色“#ff000000”它不工作它是工作可以有些身体帮助我? ?

 <Grid.Resources>
            <LinearGradientBrush x:Key="MyBrush" EndPoint="0, 1" StartPoint="0, 0">
                <GradientStop Color="#00000000" Offset="1"/>
                <GradientStop Color="#FFFFFFFF" Offset="1"/>
                <GradientStop Color="{Binding Path=MyColor}" Offset="0"/>
                <!--#ff000000 -->

            </LinearGradientBrush>

            <Style x:Key="ThumbStyle" TargetType="{x:Type Thumb}">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate >
                            <Rectangle StrokeThickness="1" StrokeDashCap="Round" 
                                       Stretch="Fill" Name="ThumbContnet" Fill="{StaticResource MyBrush}"></Rectangle>
                            <!---->
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </Grid.Resources>

此致 Fadi AL Sayyed

1 个答案:

答案 0 :(得分:0)

根据您的评论,您尚未设置DataContext。声明依赖项属性不足以使绑定起作用。在用户控件的构造函数中写:

public class MyControl : UserControl
{
  public static readonly DependencyProperty MyColorProperty = DependencyProperty.Register("MyColor", typeof(Color), typeof(StageToolsWindow), new FrameworkPropertyMetadata((Color)Colors.Black));

  public Color MyColor 
  {
    get { return (Color)GetValue(MyColorProperty); } 
    set { SetValue(MyColorProperty, value); } 
  }

  public MyControl()
  {
    InitializeComponent();
    DataContext = this;
  }
}