Wpf 用于数据输入的网格
作为WPF演示的一部分,我需要一个类似下面的模型的控件,以便用户:Wpf 用于数据输入的网格,wpf,xaml,mvvm,datagrid,wpf-controls,Wpf,Xaml,Mvvm,Datagrid,Wpf Controls,作为WPF演示的一部分,我需要一个类似下面的模型的控件,以便用户: 输入不超过100%的可变百分比数 知道所有条目的总数是多少 知道余额是多少(100%-全部输入) 虽然这显然是一个相当普通的要求,但我不知道如何实现它。这是一个一次性的需求,所以它不需要是一个可重用的,尽管如果可以的话,它会很好。一个允许分离和可测试性的模式(即MVVM)也很好 我认为现有的DataGrid控件是合适的工具,但可能有些过火。有人能推荐一些起始实现代码或链接到相同的代码吗 干杯, 贝里尔 VM=“ViewModel
贝里尔 VM=“ViewModel”实现
INotifyPropertyChanged
创建一个共享
虚拟机和一个共享
虚拟机(为简洁起见删除了实现)
SharesViewModel
{
双倍总百分比
双倍剩余百分比
可观测集合股份
//每股
//在ActualPercent上更改句柄属性以更新TotalPercent
}
共享视图模型
{
内线
设置字符串百分比//时,分析/验证并设置实际百分比
双实际百分比
}
使用此项查看如何保持行
顺序
将DataGrid itemsource
绑定到SharesViewModel Shares
属性
(确保验证百分比输入。IDataErrorInfo
可能会有所帮助。)
SharesViewModel
{
double TotalPercent
double RemainingPercent
ObservableCollection<ShareViewModel> Shares
// foreach Share in Shares
// handle PropertyChanged on ActualPercent to update TotalPercent
}
ShareViewModel
{
int Line
string Percent // on set, parse/validate and set ActualPercent
double ActualPercent
}