仓库管理界面wpf代码
时间: 2023-10-04 08:05:20 浏览: 48
以下是一个简单的仓库管理界面WPF代码示例:
XAML代码:
```xml
<Window x:Class="WarehouseManagement.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Warehouse Management" Height="450" Width="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Menu Grid.Row="0">
<MenuItem Header="_File">
<MenuItem Header="_New"/>
<MenuItem Header="_Open"/>
<MenuItem Header="_Save"/>
<MenuItem Header="_Exit"/>
</MenuItem>
<MenuItem Header="_Edit">
<MenuItem Header="_Cut"/>
<MenuItem Header="_Copy"/>
<MenuItem Header="_Paste"/>
</MenuItem>
<MenuItem Header="_Help">
<MenuItem Header="_About"/>
</MenuItem>
</Menu>
<DataGrid Grid.Row="1" ItemsSource="{Binding Products}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Product ID" Binding="{Binding ProductId}"/>
<DataGridTextColumn Header="Product Name" Binding="{Binding ProductName}"/>
<DataGridTextColumn Header="Quantity" Binding="{Binding Quantity}"/>
<DataGridTextColumn Header="Price" Binding="{Binding Price}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
```
C#代码:
```csharp
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace WarehouseManagement
{
public partial class MainWindow : INotifyPropertyChanged
{
private ObservableCollection<Product> _products;
public MainWindow()
{
InitializeComponent();
Products = new ObservableCollection<Product>()
{
new Product() {ProductId = 1, ProductName = "Product A", Quantity = 10, Price = 10.0},
new Product() {ProductId = 2, ProductName = "Product B", Quantity = 20, Price = 20.0},
new Product() {ProductId = 3, ProductName = "Product C", Quantity = 30, Price = 30.0},
};
DataContext = this;
}
public ObservableCollection<Product> Products
{
get => _products;
set
{
_products = value;
OnPropertyChanged();
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
public class Product
{
public int ProductId { get; set; }
public string ProductName { get; set; }
public int Quantity { get; set; }
public double Price { get; set; }
}
}
```
在这个示例中,我们创建了一个包含菜单和数据网格的WPF窗口。菜单有三个选项卡:文件、编辑和帮助。数据网格显示仓库中的产品,包括产品ID、产品名称、数量和价格。我们使用ObservableCollection类来保存产品列表,并使用DataGrid控件将产品列表绑定到数据网格上。此外,我们实现了INotifyPropertyChanged接口来通知WPF界面当Products属性发生变化时更新数据网格的内容。