我在c# WPF窗口应用程序上有两个文本框和两个按钮。
应用程序有一个称为Total Amount的变量。一个文本框用于表示折扣百分比,另一个用于表示折扣金额。如果我更改了折扣金额,那么百分比应该在WPF中使用DataBinding反映出来,反之亦然(我有)
我想验证两个文本框1)。折扣应在最小值到最大值2的范围内。折扣金额不应大于总金额
然后,确定按钮将根据验证显示为启用/禁用
发布于 2011-06-28 01:01:38
我建议您采用MVVM模式(如果您还没有这样做的话),并将验证逻辑包含在视图模型中。使用此方法,您可以:
一个简单的例子:
public class DiscountViewModel : ViewModel // Base class implements INotifyPropertyChanged
{
// Define all of your view model properties, i.e., DiscountAmount, DiscountPercent, etc.
...
// Define a command
public ICommand OKCommand { get; }
}然后,在您的XAML视图中,添加以下绑定:
<Button Command={Binding Path=OkCommand} Content="OK" />同样,这只是一个简短的示例,应该可以帮助您找到正确的方向。有大量关于MVVM模式和WPF命令模式的资源可用。这里有一个很好的介绍性资源,涵盖了这两个方面:http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
发布于 2011-06-27 18:06:29
对于您定义的每个绑定,都可以添加一个Converter。这个can转换器可以是单值转换器,然后你必须实现IValueConverter接口。但我认为你可以用IMultiValueConverter解决你的问题。这个Converter可以被赋予很多值,这些值也可以从绑定中获得。Converter从绑定中获取值,用您的逻辑处理它们,然后将其返回给您定义它的属性。http://msdn.microsoft.com/en-us/library/system.windows.data.imultivalueconverter.aspx
https://stackoverflow.com/questions/6490365
复制相似问题