【发布时间】:2021-08-24 07:47:18
【问题描述】:
我是 WPF 的新手,我正在尝试弄清楚如何创建一个“更新”按钮,该按钮将显示表格上一行的所有内容,允许用户更改任何类别并保存新数据。
主窗口的外观:
然后当点击更新按钮时,会弹出一个类似这样的窗口。 :
你将如何制作第二个窗口?下面是我必须显示的没有“更新”按钮的主窗口。
**MainWindowxaml.cs**
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Collections;
using System.IO;
namespace Sort_a_list
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public class Student
{
public string name
{
get;
set;
}
public int age
{
get;
set;
}
public string gender
{
get;
set;
}
public string major
{
get;
set;
}
public string classification
{
get;
set;
}
}
public MainWindow()
{
InitializeComponent();
List<Student> user = new List<Student>();
try
{
using (StreamReader sr = new StreamReader(@"C:\Users\justi\Documents\2021 Self Study\WPF C#\Samples.txt"))
{
string line;
char[] sep = { ',' };
int length;
ArrayList rows = new ArrayList();
while ((line = sr.ReadLine()) != null)
{
string[] words = line.Split(sep);
length = words.Length;
rows.Add(words);
}
string[] columns;
for(int i = 1; i < rows.Count; i++)
{
columns = (string[])rows[i];
user.Add(new Student() { name = columns[0], age = Int16.Parse(columns[1]), gender = columns[2], major = columns[3], classification = columns[4] });
}
}
}
catch(Exception e)
{
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
sort.ItemsSource = user;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
}
}
}
请帮忙!非常感谢!
【问题讨论】:
-
看看这个问题:stackoverflow.com/questions/2796470/wpf-create-a-dialog-prompt。我强烈建议您研究数据绑定并同时使用 MVVM 模式 - MVVM Light 和 Prism 等库会有所帮助。但是对于您的直接问题,您需要创建另一个 WPF 表单并将其显示为按钮单击处理程序中的模式对话框。
-
显示编辑窗口的 XAML。