原創|其它|編輯:郝浩|2012-12-06 13:54:54.000|閱讀 336 次
概述:Mindscape WPF Elements優化了錯誤管理,可以通過定制屬性網格來提供更多的信息的錯誤處理。還可以修改自定義編輯器、附加驗證的編輯器···
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
提高錯誤管理
在Mindscape WPF Elements中現在又優化了錯誤管理,可以通過定制屬性網格來提供更多的信息的錯誤處理。
修改自定義編輯器
在Mindscape WPF Elements中提供了一個自定義編輯屬性,你可以創建你的錯誤管理的用戶界面來作為你模版的一部分,下面的代碼顯示“英尺和尺寸”的編輯器使用tooltip和彈出窗口用來顯示驗證錯誤。
附加驗證的編輯器
<DataTemplate x:Key='FeetAndInchesEditorWithValidation'> <ms:TextBox BorderThickness='0' Text='{Binding Value, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource FeetAndInchesConverter}, ValidatesOnExceptions=True, ValidatesOnDataErrors=True}' Style='{StaticResource TextBoxStandardErrorHandling}'> </ms:TextBox> </DataTemplate>
常見樣式的文本處理驗證錯誤
<Style TargetType='{x:Type ms:TextBox}' x:Key='TextBoxStandardErrorHandling'> <Setter Property='Control.Template'> <Setter.Value> <ControlTemplate TargetType='{x:Type ms:TextBox}'> <DockPanel> <ToggleButton x:Name='ErrorPlaceholder' Style='{StaticResource ErrorPopupTriggerStyle}'/> <Popup PlacementTarget='{Binding ElementName=ErrorPlaceholder}' AllowsTransparency='True' StaysOpen='False' Placement='Bottom' IsOpen='{Binding ElementName=ErrorPlaceholder, Path=IsChecked}'> <ItemsControl ItemTemplate='{StaticResource ValidationErrorMessage}' ItemsSource='{Binding RelativeSource={RelativeSource AncestorType={x:Type ms:TextBox}}, Path=(Validation.Errors)}'/> </Popup> <ScrollViewer x:Name='PART_ContentHost'/> </DockPanel> <ControlTemplate.Triggers> <Trigger Property='Validation.HasError' Value='True'> <Setter TargetName='ErrorPlaceholder' Property='Visibility' Value='Visible'/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> <Setter Property='Validation.ErrorTemplate'> <Setter.Value> <ControlTemplate> <DockPanel> <Ellipse Margin='0,0,6,0' ToolTip='{Binding ElementName=EditorHolder, Path=AdornedElement.(Validation.Errors)[0], Converter={StaticResource InnerExceptionExtractor}}' Width='8' Height='8' Fill='Red'/> <AdornedElementPlaceholder x:Name='EditorHolder'/> </DockPanel> </ControlTemplate> </Setter.Value> </Setter> </Style>
內置的編輯器樣式
對于內置編輯器的屬性,可以使用樣式通過屬性編輯器來創建你的錯誤處理的用戶界面。
還可以定義錯誤處理用戶接口,通過內置編輯器的所有實例來應用,而不是在屬性和屬性的基礎上,使用BuiltInEditorStyles屬性。這個例子展示了如何添加錯誤處理到文本編輯器,值得注意FirstName和Surname著兩種屬性會自動的得到新的樣式,盡管沒有自定義風格的屬性編輯器分配給這兩個屬性。
添加錯誤處理到內置文本編輯器
<ms:PropertyGrid.BuiltInEditorStyles> <ms:BuiltInEditorStyleCollection> <ms:BuiltInEditorStyle EditorKey='{x:Static ms:PropertyGrid.SimpleTextEditorKey}' Style='{StaticResource TextBoxStandardErrorHandling}'/> </ms:BuiltInEditorStyleCollection> </ms:PropertyGrid.BuiltInEditorStyles>
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件