SL4.基本数据验证

XAML:

  <StackPanel>
<Button Name="MyButton" Content="Update" Click="MyButton_Click" Width="65" Height="41"></Button>
<TextBlock Height="23" Name="tbtitle" Text="{Binding Title,Mode=OneTime}" />
<TextBlock Height="23" Name="tbtitles" Text="{Binding Title,Mode=OneWay}" />
<TextBox Height="23" Name="tbprice" Text="{Binding Path= Price,Mode=TwoWay,ValidatesOnDataErrors=True}"
Width
="150"/>
</StackPanel>

 

Book.CS:

        private decimal _price;
public decimal Price
{
get
{
return _price;
}
set
{
if (_price != value)
{
if (value<0)
{
_dataErrors[
"Price"] = "价钱不能小于0";
}
else
{
if (_dataErrors.ContainsKey("Price"))
{
_dataErrors.Remove(
"Price");
}
}
_price
= value;
if (PropertyChanged != null)
{
PropertyChanged(
this, new PropertyChangedEventArgs("Price"));
}
}
}
}

private string _dataError = string.Empty;
public string Error
{
get { return _dataError; }
}

private Dictionary<string, string> _dataErrors = new Dictionary<string, string>();
public string this[string columnName]
{
get
{
if (_dataErrors.ContainsKey(columnName))
return _dataErrors[columnName];
else
return null;
}
}

  

原文地址:https://www.cnblogs.com/baobao2010/p/2152247.html