彩票走势图

Mindscape WPF Elements使用教程:错误管理

原创|其它|编辑:郝浩|2012-12-06 13:54:54.000|阅读 271 次

概述: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@pclwef.cn

文章转载自:慧都控件

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP