В предыдущем вопросе kbmax рассказал мне, как я могу связать пользовательские свойства в моем generic.xaml.Этот ответ был на Установка фона границы с привязкой шаблона
Он работал прекрасно, пока я не попытался сделать это с помощью LinearGradientBrush StartPoint. Вот пример:
Это очевидноотлично работает:
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
Я хотел бы привязать их к пользовательскому свойству следующим образом: это не работает, я всегда получаю градиент слева направо, независимо от того, какие свойства я установил.
<LinearGradientBrush StartPoint="{Binding HeaderBorderGradientStartPoint, RelativeSource={RelativeSource TemplatedParent}}" EndPoint="{Binding HeaderBorderGradientEndPoint, RelativeSource={RelativeSource TemplatedParent}}">
Вот код в классе.
public static readonly DependencyProperty HeaderBorderGradientStartPointProperty =
DependencyProperty.Register("HeaderBorderGradientStartPoint", typeof(Point), typeof(GalleryExpander), new PropertyMetadata(new Point(0.5,0)));
public Point HeaderBorderGradientStartPoint {
get { return (Point)GetValue(HeaderBorderGradientStartPointProperty); }
set { SetValue(HeaderBorderGradientStartPointProperty, value); }
}
public static readonly DependencyProperty HeaderBorderGradientEndPointProperty =
DependencyProperty.Register("HeaderBorderGradientEndPoint", typeof(Point), typeof(GalleryExpander), new PropertyMetadata(new Point(0.5,1)));
public Point HeaderBorderGradientEndPoint {
get { return (Point)GetValue(HeaderBorderGradientEndPointProperty); }
set { SetValue(HeaderBorderGradientEndPointProperty, value); }
}
<Border.BorderBrush>
<LinearGradientBrush StartPoint="{Binding HeaderBorderGradientStartPoint, RelativeSource={RelativeSource TemplatedParent}}" EndPoint="{Binding HeaderBorderGradientEndPoint, RelativeSource={RelativeSource TemplatedParent}}">
<LinearGradientBrush.GradientStops>
<GradientStop Offset="0.0" Color="Transparent" />
<GradientStop Offset="0.25" Color="Transparent" />
<GradientStop Offset="0.50" Color="Transparent" />
<GradientStop Offset="0.75" Color="Transparent" />
<GradientStop Offset="1.0" Color="Transparent" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Border.BorderBrush>
Спасибо за любое направление ...