WPF DataGrid 部分展示,按钮弹窗显示详细内容并填写
以下是一个示例代码,演示了在 WPF 中如何在点击按钮时弹出一个弹窗,以显示更多详细列表信息并进行填写。
首先,需要在 XAML 文件中定义一个 DataGrid 和一个按钮:
<Window x:Class="WpfApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="450" Width="800">
<Grid>
<DataGrid x:Name="dataGrid" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Id}" />
<DataGridTextColumn Header="Name" Binding="{Binding Name}" />
<DataGridTextColumn Header="Age" Binding="{Binding Age}" />
<DataGridTextColumn Header="Email" Binding="{Binding Email}" />
<DataGridTextColumn Header="Phone" Binding="{Binding Phone}" />
</DataGrid.Columns>
</DataGrid>
<Button Content="Show Details" Click="Button_Click" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="10" />
</Grid>
</Window>
接下来,需要在代码文件中处理按钮的点击事件,并在弹窗中显示更多详细列表信息:
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Windows;
namespace WpfApp
{
public partial class MainWindow : Window
{
private ObservableCollection<Person> people;
public MainWindow()
{
InitializeComponent();
// 假设有一个包含 Person 对象的 ObservableCollection 作为数据源
people = new ObservableCollection<Person>()
{
new Person() { Id = 1, Name = "John", Age = 25, Email = "john@example.com", Phone = "1234567890" },
new Person() { Id = 2, Name = "Alice", Age = 30, Email = "alice@example.com", Phone = "9876543210" },
// 其他 Person 对象...
};
dataGrid.ItemsSource = people;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
// 获取选中的 Person 对象
Person selectedPerson = (Person)dataGrid.SelectedItem;
if (selectedPerson != null)
{
// 创建一个新的窗口用于展示详细信息并进行填写
DetailsWindow detailsWindow = new DetailsWindow(selectedPerson);
detailsWindow.ShowDialog();
}
}
}
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
}
}
在 MainWindow 类中的构造函数中,我们创建了一个包含 Person 对象的 ObservableCollection 作为数据源,并将其绑定到 DataGrid 的 ItemsSource 属性上。
在点击按钮的事件处理方法 Button_Click 中,我们获取当前选中的 Person 对象,并创建一个新的窗口 DetailsWindow,将选中的 Person 对象作为参数传递给该窗口。然后调用 ShowDialog 方法,使窗口以模态方式显示。
DetailsWindow 类是一个新的窗口,你可以在这个窗口中添加更多的控件和逻辑,用于展示详细列表信息和进行填写。
原文地址: https://www.cveoy.top/t/topic/Hgo 著作权归作者所有。请勿转载和采集!