wpf后台設置顏色(背景色,前景色)


有時候你是不是也會遇到要在wpf后台給某個控件設置背景色或者給文字設置前景色的情況?

本人最近看到一個從自定義的combobox讀取系統字體和顏色的實例,該實例實現了隨字體combobox選項改變而改變字體的設置,而顏色combobox卻沒有實現,於是自己也想設置一下。結果發現顏色從前台好像不好設置成動態的,於是嘗試從后台combobox_SelectionChanged事件設置。

要設置顏色,首先要獲取顏色。獲取顏色的方式我總結了四種:

1、 Color color = Color.FromArgb(透明度, red數字, green數字, blue數字); //這四個數字范圍都是(0-255)

  Color color = Color.FromRgb(red數字, green數字, blue數字);//默認透明度為255;

2、Color color = (Color)ColorConverter.ConvertFromString(“Blue”);

3、 if (e.Source is ComboBox)
      {        

      var value = (e.Source as ComboBox).SelectedValue;                   
                int start = value.ToString().IndexOf("Color");
                string selectcolor = value.ToString().Substring(start+5);
                Color color = (Color)ColorConverter.ConvertFromString(selectcolor);    

       textblock.Foreground = new SolidColorBrush(color); 

       }

4、TBlock_content.Foreground = Brushes.Blue; (對於有Brushes的時候)

5、 tblock_gethistory.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#2786E4"));

這里我們着重說一下第三種,value獲取的值是:System.Windows.Media.Color 顏色名 (比如System.Windows.Media.Color Blue)。所以我們需要截取出后面的名字,然后使用(Color)ColorConverter.ConvertFromString(selectcolor) 轉換為顏色格式。注意,不能使用ColorConverter.ConvertFromString(selectcolor) as Color;提示錯誤Color必須為非Null值。     

  

 

個人小站歡迎來踩:駕校教練評價平台 | 為愛豆砌照片牆

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM