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
你可以绑定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画笔