У меня проблемы с использованием пользовательской кисти Graident с именем AngleGradientBrush
, чтобы разрешить рисование Shape
.
Чтобы создать этот новый Gradient Brush
Я использовал это: http://wpfkorea.tistory.com/169
Это прекрасно работает, так как я использую только код из AngleGradientBrush.cs
, чтобы позволить мне иметь круговой цвет для любой фигуры.
Проблема в том, что для LinearGradientBrush
или RadiantGradientBrush
это работает, если я делаю это:
<Ellipse Name="FourDirectionsEllipse"
StrokeThickness="{Binding StrokeThiknessVM, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Width="{Binding ElementWidthVM, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Height="{Binding ElementHeightVM, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Opacity="{Binding OpacityFourDirectionsEllipseVM, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding EnableFourDirectionsEllipseVM, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
HorizontalAlignment="Center" >
<Ellipse.Stroke>
<LinearGradientBrush>
<GradientStop Color="{Binding DownColorVM, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Offset="0.125"/>
<GradientStop Color="{Binding RightColorVM, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Offset="0.125"/>
<GradientStop Color="{Binding RightColorVM, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Offset="0.375"/>
<GradientStop Color="{Binding UpColorVM, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Offset="0.375"/>
<GradientStop Color="{Binding UpColorVM, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Offset="0.628"/>
<GradientStop Color="{Binding LeftColorVM, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Offset="0.628"/>
<GradientStop Color="{Binding LeftColorVM, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Offset="0.878"/>
<GradientStop Color="{Binding DownColorVM, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Offset="0.878"/>
</LinearGradientBrush>
</Ellipse.Stroke>
</Ellipse>
Цвет связан без каких-либо проблем, поэтому я могу изменить цвета каждого GradientStop
.
Но если я использую <angleGradientBrushSample:AngleGradientBrush GradientDetail="1"> <GradientStop Color=...>...</angleGradientBrushSample:AngleGradientBrush>
вместо этого привязка не работает.
Я надеюсь, что это не конкретный вопрос только для моего кода, но я подумал, что это может помочь, когда некоторые люди пытаются определить новый GradientBrush
.
Проблема связана с кодом с сайта, о котором я говорил?Нужно ли что-то добавить, чтобы оно обрабатывало новые цвета?