首先查看此链接,了解如何使用转换器。
然后在你的 XAML 中,像这样写你的边框
<Border BorderBrush="{Binding Converter=ColorConverter}">
....
<Border>
将您的转换器代码修改为这样的
public class ColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
//Define some random colors
Color[] colors = { Colors.Blue, Colors.Brown, Colors.Cyan, Colors.Green, Colors.Magenta, Colors.Orange, Colors.Purple, Colors.Yellow, Colors.LightGray };
return colors[(new Random()).Next(8)];
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
}
}
因此,此代码动态返回其中一种颜色。并且有机会连续获得相同的颜色。顺便说一句,我没有测试上面的代码。