Silverlight listbox stackpanel项通过模板项值定义背景颜色

本文关键字:定义 背景 颜色 listbox stackpanel Silverlight | 更新日期: 2023-09-27 17:50:44

我想改变背景颜色边框或堆栈面板的绑定项目的值

 <controls:ChildWindow.Resources>
        <l:StringToColorConverter x:Key="converter"/>
    </controls:ChildWindow.Resources>
...
                <DataTemplate>
                    <StackPanel Orientation="Vertical">
                        <Border BorderBrush="Black" Background="{Binding Cím, Converter={StaticResource converter}}"  x:Name="hatter" BorderThickness="4" CornerRadius="20">
                            <StackPanel Style="{StaticResource dolgozostack}"
                                         Margin="2,2,2,2">
                                <TextBlock Text="{Binding Cím}" TextWrapping="Wrap" Foreground="White" FontSize="13" TextAlignment="Center" />
                            </StackPanel>
                        </Border>
                    </StackPanel>
                </DataTemplate>

这是我的转换器:

    public class StringToColorConverter:IValueConverter
        {
            public object Convert(object value, Type targetType,
           object parameter, CultureInfo culture)
            {
                if (value.ToString().ToLower() == "Megvalósítás elindítva".ToLower())
                    return Colors.Green;
                else{
                     SolidColorBrush mybrush=new SolidColorBrush(Colors.Red);
                return mybrush;
}
            }
    }

SolidColorBrush

Silverlight listbox stackpanel项通过模板项值定义背景颜色

你可以绑定Background属性,你想改变项目的值,并使用转换器,将返回特定的颜色刷给定的特定值。

<TextBlock Text="{Binding Full_Name}" FontSize="16" TextAlignment="Center" TextWrapping="Wrap"
        Foreground="{Binding Full_Name, Converter={StaticResource ColorConverter}" />

参考:

  • WPFTutorial.net: Value Converter
  • MSDN: IValueConverter
  • MSDN: WPF画笔