mirror of
https://github.com/PrismLibrary/Prism.git
synced 2026-10-29 05:26:34 +08:00
64 lines
1.6 KiB
C#
64 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Prism.Mvvm;
|
|
|
|
namespace Prism.Tests.Mocks.ViewModels
|
|
{
|
|
public class MockValidatingViewModel : BindableBase, INotifyDataErrorInfo
|
|
{
|
|
ErrorsContainer<string> _errorsContainer;
|
|
|
|
private int mockProperty;
|
|
public int MockProperty
|
|
{
|
|
get
|
|
{
|
|
return this.mockProperty;
|
|
}
|
|
|
|
set
|
|
{
|
|
this.SetProperty(ref mockProperty, value);
|
|
|
|
if (mockProperty < 0)
|
|
_errorsContainer.SetErrors<int>(() => MockProperty, new string[] { "value cannot be less than 0" });
|
|
}
|
|
}
|
|
|
|
internal void ClearMockPropertyErrors()
|
|
{
|
|
_errorsContainer.ClearErrors<int>(() => MockProperty);
|
|
}
|
|
|
|
internal void SetMockPropertyErrorsWithNullCollection()
|
|
{
|
|
_errorsContainer.SetErrors<int>(() => MockProperty, null);
|
|
}
|
|
|
|
public MockValidatingViewModel()
|
|
{
|
|
_errorsContainer = new ErrorsContainer<string>(OnErrorsChanged);
|
|
}
|
|
|
|
public event System.EventHandler<DataErrorsChangedEventArgs> ErrorsChanged;
|
|
public void OnErrorsChanged(string propertyName)
|
|
{
|
|
var handler = ErrorsChanged;
|
|
}
|
|
|
|
public System.Collections.IEnumerable GetErrors(string propertyName)
|
|
{
|
|
return _errorsContainer.GetErrors(propertyName);
|
|
}
|
|
|
|
public bool HasErrors
|
|
{
|
|
get { return _errorsContainer.HasErrors; }
|
|
}
|
|
}
|
|
}
|