我正在使用IDataErrorInfo驗證WPF中的表單中的數據。我的演示者已經實施了驗證。將驗證錯誤傳遞給WPF中的UI元素?
實際驗證正在發生,但應該更新UI並設置樣式的XAML沒有發生。
這就是:
<Style x:Key="textBoxInError" TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={x:Static RelativeSource.Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
的問題是,我結合Validation.Errors
不包含任何數據。如何從Presenter類獲取這些數據並將其傳遞給此XAML以更新UI元素?
編輯:
文本框:
<TextBox Style="{StaticResource textBoxInError}" Name="txtAge" Height="23" Grid.Row="3" Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Width="150">
<TextBox.Text>
<Binding Path="StrAge" Mode="TwoWay"
ValidatesOnDataErrors="True"
UpdateSourceTrigger="PropertyChanged"/>
</TextBox.Text>
驗證的發生,但數據無效時沒有發生要應用的風格。
嘗試放置明確的s直接在樣式,而不是在觸發器部分,看看是否所有的樣式應用...也許文本框樣式被重寫在視覺樹的其他地方? – kiwipom 2010-03-16 01:18:42