« [Windows 8.1] ファイルやフォルダのショートカットをスタート画面に表示する #win8jp #windows8 | トップページ | ビットマップ エフェクトというかピクセル シェーダーっていうか、まぁそういう効果を XAML で楽して書きたいよね♪ #win8dev_jp »

2013年11月28日 (木)

[Windows ストア アプリ] コードで Canvas に図形を描く #win8dev_jp

小ネタです。

拡張メソッドをひとつ書いておけば、こんなにスッキリ♪ ( それだけ f(^^; )

XAML には Canvas コントロールを置く。
<Canvas x:Name="canvas1" Grid.Row="1" Background="LightGray" />

拡張メソッドを書く。
public static class ShapeExtension
{
  public static Windows.UI.Xaml.Shapes.Shape SetPosition(
                                               this Windows.UI.Xaml.Shapes.Shape shape,
                                               Canvas canvas, double left, double top)
  {
    canvas.Children.Add(shape);
    shape.SetValue(Canvas.LeftProperty, left);
    shape.SetValue(Canvas.TopProperty, top);
    return shape;
  }
}

そしたら、こんな感じで♪
private void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
  var r1 = new Windows.UI.Xaml.Shapes.Rectangle()
        {
          Width = 300.0, Height = 200.0,
          Fill = new SolidColorBrush(Windows.UI.Colors.Blue),
          Opacity = 0.8,
        }.SetPosition(this.canvas1, 200.0, 100.0);

  var e1 = new Windows.UI.Xaml.Shapes.Ellipse()
        {
          Width=200.0, Height=200.0,
          Fill = new SolidColorBrush(Windows.UI.Colors.Red),
          Opacity = 0.5,
        }.SetPosition(this.canvas1, 250.0, 225.0);

  //後で使わないなら、ローカル変数は不要
}

20131128_xaml01

|

« [Windows 8.1] ファイルやフォルダのショートカットをスタート画面に表示する #win8jp #windows8 | トップページ | ビットマップ エフェクトというかピクセル シェーダーっていうか、まぁそういう効果を XAML で楽して書きたいよね♪ #win8dev_jp »

プログラミング」カテゴリの記事

* プログラミング ( Metro スタイル )」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/209349/58659615

この記事へのトラックバック一覧です: [Windows ストア アプリ] コードで Canvas に図形を描く #win8dev_jp:

« [Windows 8.1] ファイルやフォルダのショートカットをスタート画面に表示する #win8jp #windows8 | トップページ | ビットマップ エフェクトというかピクセル シェーダーっていうか、まぁそういう効果を XAML で楽して書きたいよね♪ #win8dev_jp »