WPF 自定义ComboBox下拉颜色控件

  • Post author:
  • Post category:其他



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");



版权声明:本文为LcVong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。