WPF 自定义ComboBox下拉颜色控件

Posted LcVong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 自定义ComboBox下拉颜色控件相关的知识,希望对你有一定的参考价值。

WPF 自定义ComboBox下拉颜色控件
1.创建类

    public class DataItem
    
        public DataItem()
        

        
        public string ColorName  get; set; 
        public DataItem(string itemName)
        
            this.ColorName = itemName;
        
    

2.添加前端

                        <ComboBox Name="txtColor"  MinWidth="200" Height="30" SelectedValuePath="ColorName"  Margin="2" >
                            <ComboBox.ItemTemplate>
                                <DataTemplate>
                                    <StackPanel Orientation="Horizontal">
                                        <Rectangle Fill="Binding ColorName"  Width="30" Height="30"></Rectangle>
                                        <TextBlock Text="Binding ColorName"></TextBlock>
                                    </StackPanel>
                                </DataTemplate>
                            </ComboBox.ItemTemplate>
                        </ComboBox>

3.获取所有颜色名称

            var props = typeof(Brushes).GetProperties();

4.赋值给ComboBox

			List<DataItem> d1 = new List<DataItem>();
            foreach (var item in props)
            
                d1.Add(new DataItem  Name = item.Name );
            
            this.txtColor.ItemsSource = d1;

5.选中项的颜色

this.txtColor.SelectedValue.ToString();

6.字符串转换颜色类型

        BrushConverter brushConverter = new BrushConverter();
        Brush brush = (Brush)brushConverter.ConvertFromString("Red");

以上是关于WPF 自定义ComboBox下拉颜色控件的主要内容,如果未能解决你的问题,请参考以下文章

wpf 自定义控件combobox 依赖属性

C# WPF - 组合框

wpf中 combox怎样使用

在使用ItemContainerGenerator进行自定义时,WPF ComboBox在第二次打开之前不会更新项目

Wpf的comboBox怎么绑定数据?

wpf中ComboBox控件 偶尔不显示下拉框