【发布时间】:2022-11-24 21:25:01
【问题描述】:
我有带边框的控件模板。我想通过模板绑定来绑定这个背景,但我还需要在 SolidColorBrush 中创建一个“x:Name”属性。所以我制作了从画笔到颜色的简单转换器,但它不起作用。我不明白为什么
我的 Xaml:
<ControlTemplate TargetType="Button" x:Key="appBtns">
<ControlTemplate.Resources>
<local:ColorConverter x:Key="ColorConverter"/>
</ControlTemplate.Resources>
<Border x:Name="BackRect" CornerRadius="15" BorderThickness="0" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}">
<Border.Background >
<SolidColorBrush x:Name="BackRectColor" Color="{TemplateBinding Background, Converter={StaticResource ColorConverter}}"/>
</Border.Background>
</Border>
</ControlTemplate>
我的转换器
public class ColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return ((SolidColorBrush)value).Color;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return value;
}
}
【问题讨论】:
标签: wpf