读书人

【解决方案】ItemsControl剔除元素但

发布时间: 2012-09-09 09:27:54 作者: rapoo

【解决方案】ItemsControl删除元素,但仍然显示它们

例如一个选手机号的程序,有一系列手机号可选。有些手机号已经被人选走了,列表仍然显示它们,但多加一条删除线,如图。

【解决方案】ItemsControl剔除元素,但仍然显示它们

如图,淡色的、被线划掉的就是已经被选走的。这样的功能该如何实现呢?


具体要求

外界可以把这种控件视为ListBox,加元素就是Items.Add,删元素就是Items.Remove。外界不应去关心如何“假删”。

此控件的应用范围应更为广泛,允许用模板来自定义被删除后的显示。

另外,出于个人爱好,此控件内部应尽量简单,少写代码;不重复发明微软专家已经发明的轮子。

实现

        private void Button2_Click(object sender, RoutedEventArgs e)        {            myItemsControl.Items.Remove(myItemsControl.SelectedItem);        }

填充靓号的代码属技术专利,就不给了。:)


读书人网 >编程

热点推荐