📅  最后修改于: 2023-12-03 15:21:15.832000             🧑  作者: Mango
本教程将介绍如何在 WPF 应用程序中使用数据绑定和样式更改为列表框的选定项。
在 Visual Studio 中,创建一个新的 WPF 应用程序。
在 MainWindow.xaml 中,添加以下代码片段以添加列表框:
<ListBox x:Name="myListBox" ItemsSource="{Binding}" SelectionChanged="myListBox_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
此列表框绑定到数据上,当数据源更改时,将更新该列表。
在 App.xaml 中定义以下样式:
<Application.Resources>
<Style TargetType="ListBoxItem">
<Setter Property="Background" Value="White" />
<Setter Property="Foreground" Value="Black" />
</Style>
<Style TargetType="ListBoxItem" x:Key="SelectedListBoxItemStyle">
<Setter Property="Background" Value="Blue" />
<Setter Property="Foreground" Value="White" />
</Style>
</Application.Resources>
此样式包括两个部分:
在 MainWindow.xaml.cs 中,添加以下代码:
private void myListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
foreach (var item in e.RemovedItems)
{
var listBoxItem = myListBox.ItemContainerGenerator.ContainerFromItem(item) as ListBoxItem;
if (listBoxItem != null)
{
listBoxItem.Style = (Style)Resources["DefaultListBoxItemStyle"];
}
}
foreach (var item in e.AddedItems)
{
var listBoxItem = myListBox.ItemContainerGenerator.ContainerFromItem(item) as ListBoxItem;
if (listBoxItem != null)
{
listBoxItem.Style = (Style)Resources["SelectedListBoxItemStyle"];
}
}
}
此代码将更改已选中列表框项的样式,将其设置为 SelectedListBoxItemStyle,将上一个选择更改为 DefaultListBoxItemStyle。
现在,您的应用程序已准备就绪。当您选择列表框中的项目时,它们将更改为所选 ListBoxItem 样式。
通过本教程,您已经学会了如何使用数据绑定和样式更改为 WPF 列表框的选定项。这有助于增强您的应用程序的可视化效果,并提供更好的用户体验。