Связывание цветов GradientStop на DependencyProperty - PullRequest
0 голосов
/ 10 марта 2010

Ниже, у меня есть эти ресурсы, я хочу сделать привязку на третьем GradientStop к MyColor, MyColor - это DependencyProperty, но не работает, если я удаляю привязку и помещаю статический цвет.

 <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>

С уважением Фади А.Л. Сайед

1 Ответ

0 голосов
/ 10 марта 2010

Согласно вашим комментариям, вы сами не установили 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;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...