3

検証済みのモデル プロパティにバインドするテキスト ボックスがページ内にあり、エラーが発生した場合にエラー テンプレートが表示されません。

いくつかのポイント:

  1. 独自のウィンドウ内のコントロールの検証の問題はありません (ウィンドウ内のフレームに表示されるページ内ではありません)。
  2. エラー テンプレートは機能し、ウィンドウ内のコントロールに表示されます。
  3. 検証エラーが識別されると、ページ内の [保存] ボタンが無効になるため、モデルは検証中です。

問題は、コントロールがフレーム内でホストされているページ内にあり、データ コンテキストがページに渡されていないことにあると考えています。それは事実でしょうか?もしそうなら、どうすればこの問題を解決できますか? そうでない場合、他に何がありますか?

コード(もちろん、問題を切り分けるためにコードを単純化しました):

<Page x:Class="PIRS_Client.View.Staff.StaffDetailsView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:ignore="http://www.ignore.com"
    mc:Ignorable="d ignore"
    DataContext="{Binding StaffDetailsVM, Source={StaticResource Locator}}"
    Height="576" Width="1163">

<Grid>        
    <TextBox HorizontalAlignment="Left" Text="{Binding Model.title, ValidatesOnDataErrors=True}" Height="17" Margin="284,453,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="90"/>
    <Button Content="Save Changes" Command="{Binding SaveDetailsCommand}" IsEnabled="{Binding Model.IsValid}" HorizontalAlignment="Left" Margin="1007,518,0,0" VerticalAlignment="Top" Width="104" Height="23"/>
</Grid>

さらに情報やコードを追加できる場合は、お知らせください。

4

1 に答える 1