キーが押されたときにテキストボックス内のテキストを検証しようとしています。これが私がやろうとしていることを示す最短のコードサンプルです:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBox FontSize="15" HorizontalAlignment="Left" Name="txtEmail" VerticalAlignment="Top" Width="135"
Text="{Binding ValidationRules.EmailAddress, ValidatesOnExceptions=True, UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
</Window>
「ValidationRules」クラス:
class ValidationRules
{
string email = "";
public string EmailAddress
{
get
{
return email;
}
set
{
Console.WriteLine("Setting!");
//Only check if there is any text for now...
if (String.IsNullOrWhiteSpace(value))
{
throw new Exception();
}
email = value;
}
}
}
テキストボックスに入力し始めると、を使用していても、コンソール出力として「設定」が表示されませんUpdateSourceTrigger=PropertyChanged
。私は自分の調査を行いましたが、私が見つけたすべての例は長く曲がりくねっていて混乱しています。また、検証で私が持っている他の間違いを指摘していただければ幸いですが、私はWPFを初めて使用するため、可能であれば簡単な言葉で説明するようにしてください。