您的位置:首页 > 其它

WPF控件之ComboBox

2014-05-27 09:09 211 查看

WPF ComboBox

WPF ComboBox

创建一个ComboBox控件,并设置ComboBox控件的名称,高度,宽度。及设置ComboBox的垂直和水平对齐。

<ComboBox Name="ComboBox1" Width="200" Height="30" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,10,0,0"></ComboBox>

输出结果如图所示:

添加ComboBox项

<ComboBox Name="ComboBox1" Width="200" Height="30" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,10,0,0">

<ComboBoxItem Content="太原"></ComboBoxItem>

<ComboBoxItem Content="北京" IsSelected="True"></ComboBoxItem>

<ComboBoxItem Content="石家庄"></ComboBoxItem>

<ComboBoxItem Content="哈尔滨"></ComboBoxItem>

<ComboBoxItem Content="合肥"></ComboBoxItem>

<ComboBoxItem Content="南京"></ComboBoxItem>

</ComboBox>

IsSelected属性为ComboxBox中的默认选中项

输出结果如图所示:



在运行时添加和删除ComboBox项

XAML

<StackPanel Orientation="Horizontal" Height="40" VerticalAlignment="Top">

<ComboBox Name="ComboBox1" Width="100" Margin="5" VerticalContentAlignment="Center">

<ComboBoxItem Content="太原"></ComboBoxItem>

<ComboBoxItem Content="北京" ></ComboBoxItem>

<ComboBoxItem Content="石家庄"></ComboBoxItem>

<ComboBoxItem Content="哈尔滨"></ComboBoxItem>

<ComboBoxItem Content="合肥"></ComboBoxItem>

<ComboBoxItem Content="南京"></ComboBoxItem>

</ComboBox>

<TextBox Width="100" Margin="5" x:Name="ItemNames" VerticalContentAlignment="Center"></TextBox>

<Button Margin="5" Content="添加" x:Name="Add" Width="60" Click="Add_Click"></Button>

<Button Margin="5" Content="删除" x:Name="Delete" Width="60" Click="Delete_Click"></Button>

</StackPanel>

CS

private void Add_Click(object sender, RoutedEventArgs e)

{

if(!string.IsNullOrEmpty(ItemNames.Text))

ComboBox1.Items.Add(ItemNames.Text);

}

private void Delete_Click(object sender, RoutedEventArgs e)

{

ComboBox1.Items.RemoveAt(ComboBox1.Items.IndexOf(ComboBox1.SelectedItem));

}

输出结果如图所示:



修改ComboBoxItem样式

<ComboBox Name="ComboBox1" Width="100" Margin="5" VerticalContentAlignment="Center">

<ComboBoxItem Content="太原" Background="LightGray" Foreground="Black" FontFamily="Georgia" FontSize="14" FontWeight="Bold"></ComboBoxItem>

<ComboBoxItem Content="北京" Background="LightBlue" Foreground="Purple" FontFamily="Verdana" FontSize="12" FontWeight="Bold"></ComboBoxItem>

<ComboBoxItem Content="石家庄" Background="LightGreen" Foreground="Green" FontFamily="Georgia" FontSize="14" FontWeight="Bold"></ComboBoxItem>

<ComboBoxItem Content="哈尔滨" Background="LightBlue" Foreground="Blue" FontFamily="Verdana" FontSize="12" FontWeight="Bold"></ComboBoxItem>

<ComboBoxItem Content="合肥" Background="LightSlateGray" Foreground="Orange" FontFamily="Georgia" FontSize="14" FontWeight="Bold"></ComboBoxItem>

</ComboBox>

输出结果如图所示:



在ComboBoxItem项中显示图片

<ComboBoxItem Background="LightGray" Foreground="Black" FontFamily="Georgia" FontSize="14" FontWeight="Bold">

<StackPanel Orientation="Horizontal">

<Image Source="Image\12.jpg" Height="30" Width="30"></Image>

<TextBlock Text="太原" VerticalAlignment="Center"></TextBlock>

</StackPanel>

</ComboBoxItem>

输出结果如图所示:



将复选框添加到ComboBoxItem

<ComboBoxItem Background="LightGray" Foreground="Black" FontFamily="Georgia" FontSize="14" FontWeight="Bold">

<CheckBox Name="TaiYuanCheckBox">

<StackPanel Orientation="Horizontal">

<Image Source="Image\12.jpg" Height="30" Width="30"></Image>

<TextBlock Text="太原" VerticalAlignment="Center"></TextBlock>

</StackPanel>

</CheckBox>

</ComboBoxItem>

输出结果如图所示:



获取当前选定项的值

string str= ComboBox1.SelectedItem.ToString();



数据绑定



public class Info
{
public int Id { get; set; }
public string Name { get; set; }

}
//绑定用户类型
private void bindUserType()
{
IList<Info> list = new List<Info>() {
new Info(){ Id=0, Name="供应商"}, new Info(){
Id=1, Name="bbbbbb"}

};
cobxUserType.ItemsSource = list;
cobxUserType.SelectedValuePath = "Id";
cobxUserType.DisplayMemberPath = "Name";

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: