SL4.基本データ検証
10295 ワード
XAML:
Book.CS:
<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;
}
}