none
UWPアプリのC#で線を引きたいが、Strokeが設定できない RRS feed

  • 質問

  • Polyline obj = new Polyline();
                obj.Points.Add(new Point(leftcolumn, 0));
                obj.Points.Add(new Point(leftcolumn, bottomrow));
                obj.Points.Add(new Point(HSgrid.Width, bottomrow));
                obj.StrokeThickness = 1;
                obj.Stroke = null;
                HSgrid.Children.Add(obj);

    というコードにより、HSgridというGridの中に線を表示させたく(leftcolumn、mottomrowはdoublé型)、

    obj.StrokeにSalmonを代入したいのですが、何をどう書けばSalmonを代入できるかご教示願います。何も代入せずに表示させようとすると線が出てこないのですが、これはobj.Strokeにnullが代入されているからだと思われます。

    obj.Stroke = Shape.Stroke と書けば何か出てるかなと思まいたが、obj.Stroke = Shape.StrokeDashArrayProperty が出てきて、これもStokeに代入できるようなものではないようです。

    2018年9月23日 0:06

回答

すべての返信

  • StrokeにはSolidColorBrushLinearGradientBrushなどが設定できます

    Polyline obj = new Polyline();
    obj.Points.Add(new Point(leftcolumn, 0));
    obj.Points.Add(new Point(leftcolumn, bottomrow));
    obj.Points.Add(new Point(HSgrid.ActualWidth, bottomrow)); //HSgridのWidthに値を指定していない場合はWidthでは値が取れないので
    obj.StrokeThickness = 1;
    obj.Stroke = new SolidColorBrush(Windows.UI.Colors.Salmon);
    HSgrid.Children.Add(obj);


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 編集済み gekkaMVP 2018年9月23日 7:01 リンクがWPF用のになっていたのを修正
    • 回答の候補に設定 AzuleanMVP, Moderator 2018年9月23日 12:13
    2018年9月23日 4:37
  • new SolidColorBrush(Windows.UI.Colors.Salmon);

    この部分ですが、「SolidColorBrushが見つかりませんでした」というエラーになりました。

    using System.Windows.Media を付け加えたら、「Media」は「System.Windows」に存在しないというエラーが出ました。

    2018年9月23日 10:28
  •  new Windows.UI.Xaml.Media.SolidColorBrush(Windows.UI.Colors.Salmon);

    とすることによって、自己解決しました。

    • 回答としてマーク ナノレス 2018年9月23日 12:29
    2018年9月23日 10:43