今天接到一个需求,要求我们的一个ComboBox在选择的时候显示上一次选择的内容 ,不能是空的,可是ComboBox默认就是空的如图所示:
这是很小的一个需求,有很多办法可以解决,比如继承combobox类重写控件,或者用模板化控件的方式自己搭出一个combobox,或者绑定数据都能够达到效果。
可是根据实际情况它不是一个通用的控件。项目就使用一次感觉那些方法都很麻烦,于是我想找个比较简单点的方法。
经过几次实验突然发现原来可以这样:
通常的写法:
1 <ComboBox Height="23" HorizontalAlignment="Left" Margin="353,222,0,0" Name="comboBox1" SelectedIndex="0" VerticalAlignment="Top" Width="120" >
2 <ComboBoxItem>dsjfkdsla</ComboBoxItem>
3 <ComboBoxItem>dsjfkdsla</ComboBoxItem>
4 <ComboBoxItem>dsjfkdsla</ComboBoxItem>
5 <ComboBoxItem>
6 <Button Content="sdjfksljf"></Button>
7 </ComboBoxItem>
8 </ComboBox>
修改后:
命名空间:xmlns:sys="clr-namespace:System;assembly=mscorlib"1 <ComboBox Height="23" HorizontalAlignment="Left" Margin="353,263,0,0" Name="comboBox2" SelectedIndex="0" VerticalAlignment="Top" Width="120" >
2 <sys:String>saldkfjdsklfj</sys:String>
3 <sys:String>saldkfjdsklfj</sys:String>
4 <sys:String>saldkfjdsklfj</sys:String>
5 <sys:String>saldkfjdsklfj</sys:String>
6 <Button Content="sdjfksljf"></Button>
7 </ComboBox>
运行结果:
这样重新选择的时候上一次的内容就保留住了。是不是很省事,呵呵,大家有其他方法欢迎写板砖上拍过来。