如何动态设置combox的Foreground属性?

时间:2010-12-22 11:13:28

标签: c# silverlight combobox windows-phone-7

我正在开发window phone 7应用程序。我是银光的新手。在我的应用程序中,我需要一个动态组合框。所以我使用以下代码

ComboBox CurrenciesCombobox = null;
CurrenciesCombobox = new ComboBox();
                CurrenciesCombobox.Name = "CurrencyCombobox";
                CurrenciesCombobox.SetValue(Canvas.TopProperty, 10.00);
                CurrenciesCombobox.SetValue(Canvas.LeftProperty, 10.00);
                CurrenciesCombobox.Margin = new Thickness(235, 395, 139, 180);
                //CurrenciesCombobox.Foreground = ;
                CurrenciesCombobox.ItemsSource = Currencies;
                CurrenciesCombobox.SelectionChanged += new SelectionChangedEventHandler(CurrenciesCombobox_SelectionChanged);
                ContentPanel.Children.Add(CurrenciesCombobox);

在上面的代码中,我不知道如何设置以下语句的右侧

CurrenciesCombobox.Foreground = ;

您能否告诉我如何设置组合框的前景属性? 能否请您提供我可以解决上述问题的任何代码或链接?如果我做错了什么,请指导我。

2 个答案:

答案 0 :(得分:8)

要将其设置为White,请使用以下代码:

CurrenciesCombobox.Foreground = new SolidColorBrush(Colors.White);

与以下内容相同:

CurrenciesCombobox.Foreground = new SolidColorBrush(new Color()
{
    A = 255 /*Opacity*/,
    R = 255 /*Red*/,
    G = 255 /*Green*/,
    B = 255 /*Blue*/
});

这里的第二种方法提供了更大的灵活性。

还有其他类型的画笔:Brushes in Silverlight

此外,在使用Windows Phone 7时,您应该考虑使用主题颜色。请查看可用的theme resources

答案 1 :(得分:4)

尝试

之类的
CurrenciesCombobox.Foreground = (Brush)Application.Current.Resources["PhoneAccentBrush"];

此处详述的其他选项

Theme Resources for Windows Phone

CurrenciesCombobox.Foreground = new SolidColorBrush(Colors.Red);