簡體   English   中英

WPF組合框樣式和觸發器不起作用

[英]WPF Combobox style and triggers not working

我有一個組合框:

var cmbLogin = new ComboBox()
{
    Width = 200,
    Height = 50,
    Margin = new Thickness(20),
    HorizontalContentAlignment = HorizontalAlignment.Center,
    Background = Brushes.Transparent,
    Foreground = Brushes.White,
    Focusable = true,
};

cmbLogin.Items.Add("AAAAA");
cmbLogin.Items.Add("BBBBB");

現在,我想定義樣式和觸發器:

Style cmbStyle = new Style(typeof(ComboBox));
cmbStyle.Setters.Add(new Setter(BackgroundProperty, Brushes.Green));
cmbStyle.Setters.Add(new Setter(ForegroundProperty, Brushes.Red));


Trigger t1 = new Trigger { Property = ComboBox.IsMouseOverProperty, Value = true };
t1.Setters.Add( new Setter(ComboBox.BackgroundProperty, Brushes.Yellow));
cmbStyle.Triggers.Add(t1);
cmbLogin.Style = cmbStyle;

但是使用和不使用鼠標的效果始終與以前相同

在此處輸入圖片說明 在此處輸入圖片說明

謝謝

在我看來,您的問題不是“隱藏代碼”方法,而是錯誤屬性的使用。 即使您使用XAML,也不會發生您期望/期望的UI。

ComboBox 背景屬性不是您需要的屬性。

只是為了使第一個觀點清楚:如果您嘗試更改前景而不是背景,則效果很好,並更改了文本前景。

但是不幸的是,要更改ComboBox的背景或突出顯示,您需要加倍努力。 這是一個很好的解釋: 更改WPF 組合框的 背景 customizing-wpf-combo-box-style

希望能幫助到你

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM