项目中经常使用需要根据搜索条件查询数据,然后用卡片来展示数据。用卡片展示数据时,界面的宽度发生变化,希望显示的卡片数量也跟随变化。WrapPanel虽然也可以实现这个功能,但是将多余的部分都留在行尾,十分不美观,最好是能够将多余的宽度平分在每个ListBoxItem之间,比较美观,也符合项目需求。如下便是我自己实现的Panel:
using System;
using System.Collect...
大周末的接着上一篇玩耍TreeView,这二天又再次去玩耍
ListBox;毕竟是我的最爱,没办法就喜欢玩耍他;闲话也不多扯了,直接看咱们最终效果:2、原来一直
ItemTemplate,这次直接
ListBoxItem的
Template:<Setter Property="
Template">
<Setter.Value>
ListBox控件
ListBox控件继承自ContentControl类,是一个容器类的控件,向ListBox控件中包含ListBoxItem元素向容器中添加成分,也可以添加其他任意的控件。
<ListBox x:Name="listBox" Margin="5" Height="auto" VerticalAlignment="Top">
<ListBoxItem>
<Image Source="C:\王祺\学校\CSharp学习\Code\d590c
包含可选项列表。
ListBox为ItemsControl,这意味着它可以包含任何类型的对象的集合 (例如字符串、图像或面板) 。有关更多信息,请参见ItemsControl类。
ListBox中的多个项是可见的,不同于ComboBox,只有选定项可见,除非IsDropDownOpen属性为true。SelectionMode属性确定ListBox中的多个项是否一次可选择。
SelectionMode属性确定用户一次可以选择多少项。可以将属性设置为Single(默认)...
<Window x:Class="ListBox的使用.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWind
<
ListBox Name="my
ListBox">
<
ListBoxItem>
Item 1</
ListBoxItem>
<
ListBoxItem>
Item 2</
ListBoxItem>
<
ListBoxItem>
Item 3</
ListBoxItem>
</
ListBox>
2. 在代码中向
ListBox 中添加数据项。
```csharp
my
ListBox.
Items.Add("
Item 4");
my
ListBox.
Items.Add("
Item 5");
3. 通过数据绑定将数据源与
ListBox 关联。
```csharp
List<string>
items = new List<string> { "
Item 6", "
Item 7", "
Item 8" };
my
ListBox.
ItemsSource =
items;
4. 处理
ListBox 的选择事件。
```csharp
private void my
ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
if (my
ListBox.Selected
Item != null)
MessageBox.Show(my
ListBox.Selected
Item.ToString());
这些是
WPF ListBox 的基本
用法。您还可以自定义
ListBox 的外观和行为,如设置选项模板,指定选项容器样式等等。