ComboBox下拉框项重写

public partial class SecondPage : Window
    {
        public SecondPage()
        {
            InitializeComponent();
            this.Loaded += this.SecondPage_Loaded;
        }

        private void SecondPage_Loaded(object sender, RoutedEventArgs e)
        {
            CustomColorsList colorsList = new CustomColorsList();
            this.cmbColor.ItemsSource = colorsList;
        }
    }

    public class CustomContainer : INotifyPropertyChanged
    {

        private string _customColors;

        public string CustomColors
        {
            get { return _customColors; }
            set { _customColors = value; }
        }

        private void Notify(string name)
        {
            if (this.PropertyChanged != null)
            {
                this.PropertyChanged(this, new PropertyChangedEventArgs(name));
            }
        }
        public event PropertyChangedEventHandler PropertyChanged;
    }

    public class CustomColorsList : List<CustomContainer>
    {
        public CustomColorsList()
        {
            CustomContainer custom = null;
            Type type = typeof(Brushes);
            var info = type.GetProperties();
            foreach (var property in info)
            {
                custom = new CustomContainer();
                custom.CustomColors = property.Name;
                Add(custom);
            }
        }
    }

xaml:

<ComboBox Name="cmbColor" Width="100" Height="30" Margin="77,37,101,194">
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <Rectangle Fill="{Binding CustomColors}" Width="20" />
                        <TextBlock Text="{Binding CustomColors}" VerticalAlignment="Center" />
                    </StackPanel>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>

转载于:https://www.cnblogs.com/kelei12399/archive/2012/07/25/2608661.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值