我有以下 XAML 代码:
<Window x:Class="simpledatagrid.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="IDDATA" Height="350" Width="525">
<Grid>
<DataGrid Name="dgsample" BorderBrush="Black" BorderThickness="2" AutoGenerateColumns="True" CanUserAddRows="True" CanUserDeleteRows="True" Margin="200,10,10,75"/>
<Label Content="ID :" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Height="26" Width="27"/>
<Label Content="Name :" HorizontalAlignment="Left" Margin="10,60,0,0" VerticalAlignment="Top" Height="26" Width="48"/>
<Label Content="Salary :" HorizontalAlignment="Left" Margin="10,110,0,0" VerticalAlignment="Top" Height="26" Width="47"/>
<TextBox Name="tb1" HorizontalAlignment="Left" Height="20" Margin="60,10,0,0" TextWrapping="NoWrap" Text="" VerticalAlignment="Top" Width="100" />
<TextBox Name="tb2" HorizontalAlignment="Left" Height="20" Margin="60,60,0,0" TextWrapping="NoWrap" Text="" VerticalAlignment="Top" Width="100"/>
<TextBox Name="tb3" HorizontalAlignment="Left" Height="20" Margin="60,110,0,0" TextWrapping="NoWrap" Text="" VerticalAlignment="Top" Width="100"/>
<Button Content="Get" HorizontalAlignment="Left" Margin="10,190,0,0" VerticalAlignment="Top" Width="75" Click="Get_Click" />
<Button Content="Add" HorizontalAlignment="Left" Margin="10,230,0,0" VerticalAlignment="Top" Width="75" Click="Add_Click" />
<Button Content="Delete" HorizontalAlignment="Left" Margin="10,270,0,0" VerticalAlignment="Top" Width="75" Click="Delete_Click" />
</Grid>
</Window>
这是.cs代码
public partial class MainWindow : Window
{
ObservableCollection<User> Users = new ObservableCollection<User>();
public MainWindow()
{
InitializeComponent();
Users.Add(new User() { Id = 101, Name = "Allen", Salary = 10 });
Users.Add(new User() { Id = 102, Name = "king", Salary = 20 });
Users.Add(new User() { Id = 103, Name = "scot", Salary = 30 });
Users.Add(new User() { Id = 104, Name = "havy", Salary = 40 });
Users.Add(new User() { Id = 105, Name = "xen", Salary = 50 });
Users.Add(new User() { Id = 106, Name = "len", Salary = 60 });
dgsample.ItemsSource = Users;
}
private void Get_Click(object sender, RoutedEventArgs e)
{
{
User currentUser = Users.Single(select => select.Id == int.Parse(this.tb1.Text));
this.tb2.Text = currentUser.Name;
this.tb3.Text = currentUser.Salary.ToString();
}
}
private void Add_Click(object sender, RoutedEventArgs e)
{
Users.Add(new User() { Id = int.Parse(tb1.Text), Name = tb2.Text, Salary = int.Parse(tb3.Text) });
}
private void Delete_Click(object sender, RoutedEventArgs e)
{
Users.RemoveAt(dgsample.SelectedIndex);
}
}
此代码正在工作,现在我需要的是,如果我输入了不在 DatGrid 中的错误 ID,它应该在 MessageBox 中显示为无效,并且如果我在 TextBox 中输入 ID 并单击删除按钮,它应该会被删除。请帮助我编写我对 WPF 不熟悉的代码