【发布时间】:2014-04-02 06:01:52
【问题描述】:
我必须绑定渐变颜色属性。在这个我使用转换器。这是绑定的xaml代码
<GradientStop Color="{Binding Namevalue, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource nametocolorconverter}}"/>
nametocolorconverter的代码
class nametocolorconverter: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
Brush brw = new Brush();
if(value == "Blue") brw = Colors.Blue;
elseif(value=="Green") brw = Colors.Green;
else brw=Colors.Red;
return brw;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
上面的代码不起作用。我没有得到想要的颜色。
【问题讨论】:
-
你更改了
Namevalue,但颜色没有更改? -
你有
nametocolorconverter键的资源吗?类似于以下内容:<l:nametocolorconverter x:Key="nametocolorconverter" />. -
@UlugbekUmirov 是的,我已将其添加到资源中。
-
@user3449857:是的,颜色没有改变
-
@Amr 调试时,程序是否进入
Convert方法?你的颜色总是红色吗?