Wpf 渐变根据DependencyProperty停止颜色绑定
下面,我有这些资源,我想在第三个梯度上进行绑定停止到MyColor,MyColor是独立的属性,但如果我删除绑定并放置静态颜色“#ff000000”,它正在工作,有人能帮我吗Wpf 渐变根据DependencyProperty停止颜色绑定,wpf,Wpf,下面,我有这些资源,我想在第三个梯度上进行绑定停止到MyColor,MyColor是独立的属性,但如果我删除绑定并放置静态颜色“#ff000000”,它正在工作,有人能帮我吗 <Grid.Resources> <LinearGradientBrush x:Key="MyBrush" EndPoint="0, 1" StartPoint="0, 0"> <GradientStop Color="#0000000
<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根据您的评论,您没有设置数据上下文本身。声明依赖项属性不足以使绑定工作。在用户控件的构造函数中写入:
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;
}
}
霉色的类型是什么?是字符串还是
System.Windows.Media.Color
(应该是后者)?Visual Studio输出窗口中是否显示任何绑定错误?是的,它是System.Windows.Media.Color。您如何知道数据上下文中有颜色?我设置了颜色,这是dp。public static readonly dependencProperty MyColorProperty=dependencProperty.Register(“MyColor”、typeof(Color)、typeof(StageToolsWindow)、new FrameworkPropertyMetadata((Color)Colors.Black));公共颜色MyColor{get{return(Color)GetValue(MyColorProperty);}set{SetValue(MyColorProperty,value);}