Hiện tại tôi có lưới và tôi đang cố gắng để có một ô có quy tắc xác thực. Để xác nhận nó, tôi yêu cầu giá trị tối thiểu và tối đa của hàng.Lưới WPF với quy tắc xác thực và thuộc tính phụ thuộc
Validation Class:
public decimal Max { get; set; }
public decimal Min { get; set; }
public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
{
var test = i < Min;
var test2 = i > Max;
if (test || test2)
return new ValidationResult(false, String.Format("Fee out of range Min: ${0} Max: ${1}", Min, Max));
else
return new ValidationResult(true, null);
}
Bản quyền thuộc về:
<telerik:RadGridView SelectedItem ="{Binding SelectedScript}"
ItemsSource="{Binding ScheduleScripts}">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn
DataMemberBinding="{Binding Amount}" Header="Amount"
CellTemplate="{StaticResource AmountDataTemplate}"
CellEditTemplate="{StaticResource AmountDataTemplate}"/>
<telerik:GridViewComboBoxColumn
Header="Fee Type"
Style="{StaticResource FeeTypeScriptStyle}"
CellTemplate="{StaticResource FeeTypeTemplate}"/>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
FeeType Class:
public class FeeType
{
public decimal Min { get; set; }
public decimal Max { get; set; }
public string Name { get; set; }
}
Tôi đã thử giải pháp này đây WPF ValidationRule with dependency property và nó hoạt động tuyệt vời. Nhưng bây giờ tôi đi qua các vấn đề mà các proxy không thể được instantiated thông qua viewmodel. Nó dựa trên thuộc tính Min và Max đã chọn của ComboBox Value.
Ví dụ, rằng giá trị mẫu combo box dưới
Admin Min: $75 Max $500
Late Min: $0 Max $50
Kể từ khi một mạng lưới có thể có hầu như nhiều hàng như nó muốn, tôi không thể nhìn thấy cách tạo proxy sẽ làm việc trong hoàn cảnh của tôi. Nếu tôi có thể nhận được một số lời khuyên hướng dẫn, sẽ được đánh giá cao.
Chỉ có một 'ComboBox' trong mã của bạn. – AnjumSKhan
@AnjumSKhan Chỉ giả sử là một ComboBox. Giá trị comboBox thuộc loại FeeType. Vì vậy, bất cứ điều gì được chọn sẽ xác định nó là min và max. – Master
Bạn có chắc chắn rằng đây không phải là vấn đề [XY] (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)? Nó sẽ mất rất nhiều công sức để làm điều này bằng cách sử dụng một 'ValidationRule', trong khi nó sẽ được khá dễ dàng để thực hiện nếu bạn di chuyển logic xác nhận để xem-mô hình. – Grx70