0

Windows8のBorderThicknessまたはBorderBrushプロパティに問題があります。

win7では、以下のコードは5pxの厚さの読み取りアウトラインでeditControlのアウトラインを正しく示していますが、Windows 8では機能しません。Windows8で非推奨またはサポートされていないものがあるかどうか疑問に思っていますか?マイクロソフトのドキュメントでその概念を見つけることができません。

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 に答える