0

我在 Windows 8 中遇到了 BorderThickness 或 BorderBrush 属性的问题。

在win7中,下面的代码以5px粗的读取轮廓正确勾勒出了editControl,但是它在Windows 8中不起作用。我想知道Windows 8现在是否有一些已弃用或不支持的东西?我在微软文档中找不到任何概念。

editControl.BorderThickness = new Thickness(5);
editControl.BorderBrush = Brushes.Red;

有谁能帮忙吗?

4

1 回答 1

0

我找到了使用Adorners的解决方法。

  private class ErrorHighlightAdorner : Adorner
  {
      public ErrorHighlightAdorner(UIElement adornedElement)
          : base(adornedElement)
      {
      }

      protected override void OnRender(DrawingContext drawingContext)
      {
          Rect sourceRect = new Rect();
          FrameworkElement fe = AdornedElement as FrameworkElement;
          if (fe != null)
          {
              sourceRect = new Rect(fe.RenderSize);
          }
          else
          {
              sourceRect = new Rect(AdornedElement.DesiredSize);
          }

          Pen renderPen = new Pen(new SolidColorBrush(Colors.Red), 2.0);
          drawingContext.DrawRectangle(null, renderPen, sourceRect);
      }
  }
于 2012-11-21T19:02:27.717 回答