在WPF中动态添加详细信息行,可以使用MVVM模式和数据绑定来实现。以下是一个简单的示例,说明如何在WPF应用程序中实现这一功能。
首先,创建一个ViewModel类,其中包含一个ObservableCollection,用于存储详细信息行。
using System.Collections.ObjectModel;
public class MainViewModel
{
public ObservableCollection<DetailRow> DetailRows { get; set; }
public MainViewModel()
{
DetailRows = new ObservableCollection<DetailRow>();
}
public void AddDetailRow()
{
DetailRows.Add(new DetailRow { Description = "New Detail Row" });
}
}
public class DetailRow
{
public string Description { get; set; }
}
接下来,在WPF应用程序的XAML文件中,创建一个DataGrid,并将其ItemsSource属性绑定到DetailRows ObservableCollection。
<DataGrid ItemsSource="{Binding DetailRows}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Description" Binding="{Binding Description}" />
</DataGrid.Columns>
</DataGrid>
最后,在WPF应用程序的代码隐藏文件中,实例化MainViewModel并将其设置为DataContext。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new MainViewModel();
}
}
现在,当您运行应用程序并单击“添加详细信息行”按钮时,将动态添加一个新的详细信息行。
这只是一个简单的示例,您可以根据需要进行扩展和修改。例如,您可以将“添加详细信息行”按钮绑定到MainViewModel中的AddDetailRow方法,以便在单击按钮时动态添加详细信息行。
领取专属 10元无门槛券
手把手带您无忧上云