Silverlight控件学习ComboBox

在进行开发中有这样一种情况需要ComboBox内集成checkbox列表,或是treeview列表以方便用户进行选择,提供良好的UI体验。

在开始处理之前先温习下ComboBox的基础东西,就是在XAML中的写法(我用BLEND3拖出的ComboBox控件,冗余代码会多些)

1、ComboBox控件的基本应用

代码
 <!--普通combobox测试-->
        
<ComboBox HorizontalAlignment="Left" Margin="68,53,0,0" VerticalAlignment="Top" Width="120">
            
<ComboBoxItem Content="测试数据1"/>
            
<ComboBoxItem Content="测试数据2"/>
        
</ComboBox>

        
<!--combobox嵌入rectangle控件-->
        
<ComboBox Margin="216,53,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="120">
            
<ComboBoxItem>
                
<ComboBoxItem.Content>
                    
<Rectangle Width="200" Height="30" Fill="Blue"/>
                
</ComboBoxItem.Content>
            
</ComboBoxItem>

            
<ComboBoxItem>
                
<ComboBoxItem.Content>
                    
<Rectangle Width="200" Height="30" Fill="Red"/>
                
</ComboBoxItem.Content>
            
</ComboBoxItem>

            
<ComboBoxItem>
                
<ComboBoxItem.Content>
                    
<Rectangle Width="200" Height="30" Fill="Green"/>
                
</ComboBoxItem.Content>
            
</ComboBoxItem>
        
</ComboBox>
        
<!--combobox嵌入checkbox控件-->
        
<ComboBox Margin="365,53,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="120">
            
<ComboBoxItem>
                
<ComboBoxItem.Content>
                    
<CheckBox Content="测试数据1"/>
                
</ComboBoxItem.Content>
            
</ComboBoxItem>
            
            
<ComboBoxItem>
                
<ComboBoxItem.Content>
                    
<CheckBox Content="测试数据2"/>
                
</ComboBoxItem.Content>
            
</ComboBoxItem>
            
            
<ComboBoxItem>
                
<ComboBoxItem.Content>
                    
<CheckBox Content="测试数据3"/>
                
</ComboBoxItem.Content>
            
</ComboBoxItem>
        
</ComboBox>

参考资料:

Silverlight ComboBox Tutorial

一步一步学Silverlight 2系列文章

2、ComboBox集成checkbox列表
上面的XAML代码中可以看到,我们可以实现将checkbox嵌入comboboxitem的容器中,但这个只能做个测试玩玩,具体应用那是不行的。
因为在网上已有高手写出了解决办法,不管是从应用角度还是学习角度都不错

Multiple-Selection ComboBox for Silverlight

 这篇文章中直接对combobox进行了相应的修改,将原来combobox控件中的ItemsPresenter 替换为ListBoxItem ,做法简单,实用


3、combobox选择后文本框中显示长名称时显示省略号
看到这个标题不代表我有解决办法,哈哈。在网上找了半天只找到有WPF的相应解决办法。不过各位不要急,有资料说Silverlight 4中增加了TextTriming属性已可以像WPF一样处理 

原文地址:https://www.cnblogs.com/forrestsun/p/1702253.html