У меня есть прямоугольник, цвет заливки которого определяется MultiBindingConverter из RGB-ползунков.
<Rectangle.Fill>
<SolidColorBrush>
<SolidColorBrush.Color>
<MultiBinding Converter="{StaticResource RgbConverter}">
<Binding Path="Value" ElementName="RSlider" />
<Binding Path="Value" ElementName="GSlider" />
<Binding Path="Value" ElementName="BSlider" />
</MultiBinding>
</SolidColorBrush.Color>
</SolidColorBrush>
</Rectangle.Fill>
Теперь я хочу сделать этот "выбранный" цвет GradientStop
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Offset="0" Color="Black" />
<GradientStop Offset="1" Color="{here bind the color}" />
</LinearGradientBrush>
</Rectangle.Fill>
Я пробовал через ObjectDataProvider
<ObjectDataProvider ObjectInstance="{StaticResource ResourceKey=cColor}" MethodName="ChosenColor" x:Key="chColor" >
</ObjectDataProvider>
, где ChosenColor - метод расширения:
public static Color ChosenColor(this Rectangle rect)
{
return ((SolidColorBrush)rect.Fill).Color;
}
но не повезло.Как это сделать?