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