我的页面中有一个文本框,绑定到一个经过验证的模型属性上,但当出现错误时,错误模板不会显示!
以下是几点说明:
- 对于在窗口内而非在窗口的框架中显示的页面内的控件,我没有验证问题。
- 错误模板有效,在窗口内的控件中显示。
- 模型正在验证,因为在识别到验证错误时,“保存”按钮将被禁用。
“我认为”问题在于该控件位于嵌套框架中的页面内,因此数据上下文似乎未被传递到该页面。这可能是原因吗?如果是,我该如何解决此问题?如果不是,还可能是什么问题?
代码(我当然已经简化了代码以隔离问题):
<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>
如果我能添加任何其他信息或代码,请告诉我!