{"id":4062,"date":"2013-02-15T11:33:55","date_gmt":"2013-02-15T02:33:55","guid":{"rendered":"http:\/\/www.moonmile.net\/blog\/archives\/4062"},"modified":"2013-02-15T11:34:38","modified_gmt":"2013-02-15T02:34:38","slug":"winrt-grid%e3%81%ab%e8%b2%bc%e3%82%8a%e4%bb%98%e3%81%91%e3%81%9f%e3%82%b3%e3%83%b3%e3%83%88%e3%83%ad%e3%83%bc%e3%83%ab%e3%81%ae%e7%b5%b6%e5%af%be%e5%ba%a7%e6%a8%99%e3%82%92%e5%8f%96%e5%be%97","status":"publish","type":"post","link":"http:\/\/www.moonmile.net\/blog\/archives\/4062","title":{"rendered":"[WinRT] Grid\u306b\u8cbc\u308a\u4ed8\u3051\u305f\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306e\u7d76\u5bfe\u5ea7\u6a19\u3092\u53d6\u5f97\u3059\u308b"},"content":{"rendered":"<p>\n\u3055\u3066\u3001\u624b\u6301\u3061\u306e\u672d\u3092\u5834\u306b\u6368\u3066\u308b\u3068\u3053\u308d\u306e\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u958b\u59cb\u3001\u3063\u3066\u3053\u3068\u3067\u3061\u3087\u3063\u3068\u60a9\u3093\u3060\u306e\u306f\u3001\u672d\u306e\u5ea7\u6a19\u306f\u3069\u3046\u3084\u3063\u3066\u53d6\u308b\u306e\u3060\u308d\u3046\u304b\uff1f\u3063\u3066\u3053\u3068\u3067\u3059\u3002XAML \u3067\u306f Grid \u304b Canvas \u306b\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u30da\u30bf\u30da\u30bf\u306f\u308a\u3064\u3051\u3066\u4f4d\u7f6e\u6c7a\u3081\u3092\u3057\u3066\u3044\u304f\u306e\u3067\u3059\u304c\u3001\u3053\u306e Margin \u306e\u5024\u306f\u89aa\u306e Grid \u304b\u3089\u306e\u76f8\u5bfe\u5ea7\u6a19\u306a\u3093\u3067\u3059\u3088\u306d\u3002\u79fb\u52d5\u3059\u308b\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u30eb\u30fc\u30c8\u306e grid \u4e0a\u306b\u5f35\u308a\u4ed8\u3051\u3089\u308c\u3066\u3070\u8a08\u7b97\u306f\u7c21\u5358\u306a\u306e\u3067\u3059\u304c\u3001Grid \u306e\u4e2d\u306b Grid \u304c\u3042\u3063\u3066\u3001\u305d\u306e\u4e2d\u306b\u3055\u3089\u306b Grid \u304c\u3042\u3063\u3066\u3001\u305d\u306e\u4e2d\u306b Image \u304c\u3042\u308b\u3001\u3063\u3066\u3044\u3046\u5165\u308c\u5b50\u306b\u306a\u3063\u3066\u3044\u308b\u5834\u5408\u306b\u306f\u3001\u3061\u3087\u3063\u3068\u8a08\u7b97\u304c\u5927\u5909\u3002\u3055\u3089\u306b\u8a00\u3048\u3070\u3001\u82b1\u672d\u306e\u5834\u5408\u306b\u306f\u3001\u624b\u672d\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3068\u304b\u5834\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3068\u304b\u3001\u305d\u308c\u305e\u308c\u304c\u5225\u3005\u306e\u30e6\u30fc\u30b6\u30fc\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u8907\u6570\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u9593\u306e\u5ea7\u6a19\u306f\u3069\u3046\u3084\u3063\u3066\u53d6\u308b\u306e\uff1f\u3063\u3066\u306e\u304c\u3001\u7591\u554f\u3067\u3042\u308a\u307e\u3057\u305f\u3001\u3063\u3066\u8a71\u3067\u3059\u3002\n<\/p>\n<p><a href='http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/02\/wpid-cworkblogimage20130215_01org.jpg'><img border='0' src='http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/02\/wpid-cworkblogimage20130215_01thum.jpg'\/><\/a><\/p>\n<p>\n\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3068\u3057\u3066\u306f\u3001\n<\/p>\n<ol>\n<li>\u624b\u672d\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306e\u30af\u30ea\u30c3\u30af\u3057\u305f\u672d\u306e\u7d76\u5bfe\u5ea7\u6a19(pt1)\u3092\u53d6\u5f97<\/li>\n<li>\u5834\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306e\u30de\u30c3\u30c1\u3059\u308b\u672d\u306e\u7d76\u5bfe\u5ea7\u6a19(pt2)\u3092\u53d6\u5f97<\/li>\n<li>pt1 \u304b\u3089 pt2 \u306b\u672d\u3092\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3<\/li>\n<\/ol>\n<p>\n\u3055\u305b\u305f\u3044\u308f\u3051\u3067\u3059\u3002\u624b\u672d\u3068\u5834\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u304c\u5225\u3005\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u306f\u3001UI \u3068\u3057\u3066\u81ea\u7531\u306b\u30c7\u30b6\u30a4\u30f3\u3057\u305f\u3044\u304b\u3089\u3067\u3059\u3002\u3044\u3084\u3044\u3084\u3001\u82b1\u672d\u30b2\u30fc\u30e0\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3068\u3057\u3066\u5168\u4f53\u3092\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3059\u308b\u3068\u3044\u3046\u624b\u3082\u3042\u308b\u306e\u3067\u3059\u304c\u3001\u306a\u3093\u304b\u3054\u3061\u3083\u3054\u3061\u3083\u3057\u305f\u306e\u3067\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u6bce\u306b\u5206\u3051\u305f\u3093\u3067\u3059\u3088\u306d\u3002\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u304c\u306a\u3044\u5834\u5408\u306f\u3001\u3053\u308c\u306e\u307b\u3046\u304c\u4f7f\u3044\u3084\u3059\u3044\u306e\u3067\u3059\u304c\u3001\u76f8\u4e92\u306b\u5ea7\u6a19\u3092\u53c2\u7167\u3059\u308b\u3088\u3046\u306a\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u306e\u5834\u5408\u306b\u306f\u7d50\u69cb\u624b\u9593 orz \u306b\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002\u3053\u306e\u3042\u305f\u308a\u3001XAML \u306e\u5834\u5408\u306f\u3001\u30ea\u30bd\u30fc\u30b9\u30d9\u30fc\u30b9\u3067\u5225\u306e XAML \u3092\u8aad\u307f\u8fbc\u3080\u3063\u3066\u307b\u3046\u304c\u7d20\u76f4\u306a\u306e\u304b\u3082\u3002\u3053\u306e\u3042\u305f\u308a\u306f\u5f8c\u3067\u691c\u8a0e\u3057\u3066\u307f\u307e\u3059\u3002\n<\/p>\n<p>\n\u3067\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u3055\u305b\u308b\u306e\u306f\u3044\u3044\u3051\u308c\u3069\u3001\u624b\u672d\u306e\u5ea7\u6a19\u306f\u3069\u3046\u3084\u3063\u3066\u53d6\u308b\u306e\u304b\uff1f\u3063\u3066\u3053\u3068\u3067\u3059\u3002\n<\/p>\n<p>\n\u25a0\u6307\u5b9a\u3057\u305f\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306e\u7d76\u5bfe\u5ea7\u6a19\u3092\u53d6\u308b\u3002\n<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\nvar pt = pict.TransformToVisual(null).TransformPoint(new Point(0, 0));\n<\/pre>\n<p>\ntips \u3063\u307d\u3044\u3067\u3059\u304c\u3001pict \u3068\u3044\u3046 Image \u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306e\u7d76\u5bfe\u5ea7\u6a19\u306f\u3001TransformToVisual \u30e1\u30bd\u30c3\u30c9\u3068 TransformPoint \u30e1\u30bd\u30c3\u30c9\u306e\u7d44\u307f\u5408\u308f\u305b\u3067\u53d6\u308c\u307e\u3059\u3002TransformToVisual \u30e1\u30bd\u30c3\u30c9\u306f\u30d9\u30fc\u30b9\u3068\u306a\u308b\u5ea7\u6a19\u8ef8\u3092\u6c7a\u3081\u308b\u3063\u3066\u306a\u5177\u5408\u3067\u3001null \u3092\u6307\u5b9a\u3059\u308b\u3068\u753b\u9762\u5168\u4f53\u304c\u5bfe\u8c61\u306b\u306a\u308a\u307e\u3059\u3002\u666e\u901a\u306f\u5ea7\u6a19\u8ef8\u306e\u539f\u70b9\u3092\u6307\u5b9a\u3059\u308b\u305f\u3081\u306b\u89aa\u306e grid \u306a\u3069\u3092\u6307\u5b9a\u3059\u308b\u306e\u3067\u3057\u3087\u3046\u3002TransformPoint \u30e1\u30bd\u30c3\u30c9\u306f\u3001\u73fe\u5728\u306e\u5ea7\u6a19\u8ef8\u304b\u3089\u5909\u63db\u5148\u306e\u5ea7\u6a19\u8ef8\u3078\u79fb\u3059\u305f\u3081\u306b\u4f7f\u3044\u307e\u3059\u3002\u3053\u306e\u5834\u5408\u306f\u3001Image \u30b3\u30f3\u30c8\u30ed\u30fc\u30eb(pict)\u306e\u5de6\u4e0a\u306e\u5ea7\u6a19(0,0)\u3092\u5909\u63db\u3057\u305f\u3044\u306e\u3067\u3001new Point(0,0) \u3068\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\n\u307e\u3042\u3001\u539f\u7406\u306f\u3055\u3066\u304a\u304d\u3001\u3053\u3046\u3084\u308b\u3068 grid \u306e\u5165\u308c\u5b50\u3068\u304b\u95a2\u4fc2\u306a\u304f\u753b\u9762\u306e\u5de6\u4e0a\u304b\u3089\u306e\u5ea7\u6a19\u304c\u53d6\u308c\u307e\u3059\u306d\u3002\n<\/p>\n<p>\n\u25a0\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u3001\u6307\u5b9a\u3057\u305f\u7d76\u5bfe\u4f4d\u7f6e\u306b\u79fb\u52d5\u3059\u308b\u3002\n<\/p>\n<p>\n\u5de6\u4e0a\u304b\u3089\u306e\u7d76\u5bfe\u5ea7\u6a19\u304c\u53d6\u308c\u305f\u306e\u3067\u3001\u3053\u308c\u3067 gird \u3068\u304b canvas \u3068\u304b\u306e\u76f8\u5bfe\u5ea7\u6a19\u304c\u95a2\u4fc2\u306a\u304f\u79fb\u52d5\u3067\u304d\u307e\u3059&#8230;\u3063\u3066\u8a33\u306b\u3082\u3044\u304b\u305a grid \u306e margin \u306b\u6307\u5b9a\u3059\u308b\u306e\u306f grid \u306b\u5bfe\u3057\u3066\u306e\u300c\u76f8\u5bfe\u5ea7\u6a19\u300d\u306a\u3093\u3067\u3059\u3088\u306d\u3002\u306a\u306e\u3067\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u4efb\u610f\u306e\u4f4d\u7f6e\u306b\u79fb\u52d5\u3055\u305b\u308b\u305f\u3081\u306b\u306f\u3001\u5bfe grid \u306e\u76f8\u5bfe\u5ea7\u6a19\u5024\u3092\u8a08\u7b97\u3057\u76f4\u3055\u306a\u3044\u3068\u3044\u3051\u307e\u305b\u3093\u3002\u3053\u306e\u624b\u306e\u8a08\u7b97\u304c\u3044\u3084\u306a\u5834\u5408\u306f\u3001\u3042\u3089\u304b\u3058\u3081\u5de6\u4e0a\u3092\u539f\u70b9\u3068\u3057\u3066 grid \u3084 canvas \u3092\u914d\u7f6e\u3057\u3066\u304a\u304f\u3068\u3088\u3044\u3067\u3059\u3002\u305f\u3076\u3093\u3001\u305d\u3063\u3061\u306e\u307b\u3046\u304c\u7c21\u5358\u3067\u3059\u3002\n<\/p>\n<p><a href='http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/02\/wpid-cworkblogimage20130215_02org.jpg'><img border='0' src='http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/02\/wpid-cworkblogimage20130215_02thum.jpg'\/><\/a><\/p>\n<p>\n\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3055\u305b\u308b\u305f\u3081\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u3001\u9069\u5f53\u306a grid \u306e\u4e2d\u306b\u9069\u5f53\u306a Image \u3092\u8cbc\u308a\u4ed8\u3051\u307e\u3059\u3002\u8a08\u7b97\u304c\u9762\u5012\u306a\u5834\u5408\u306b\u306f\u3001\u5de6\u4e0a\u306b\u63a5\u3059\u308b\u3088\u3046\u306b\u4f5c\u308c\u3070\u3044\u3044\u306e\u3067\u3059\u304c\u3001\u3053\u3053\u3067\u306f\u5b9f\u9a13\u306e\u305f\u3081\u306b\u300c\u3042\u3048\u3066\u9069\u5f53\u306a\u300d\u5834\u6240\u306b\u914d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002\n<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;Grid x:Name=&amp;quot;grid1&amp;quot; \n\tHorizontalAlignment=&amp;quot;Left&amp;quot; \n\tVerticalAlignment=&amp;quot;Top&amp;quot; Height=&amp;quot;289&amp;quot; Width=&amp;quot;335&amp;quot; Margin=&amp;quot;343,200,0,0&amp;quot;&gt;\n    &lt;Image x:Name=&amp;quot;pict1&amp;quot; \n\tHorizontalAlignment=&amp;quot;Left&amp;quot; Height=&amp;quot;100&amp;quot; \n\tMargin=&amp;quot;56,44,0,0&amp;quot; \n\tVerticalAlignment=&amp;quot;Top&amp;quot; Width=&amp;quot;64&amp;quot; \n\tSource=&amp;quot;\/Images\/FC001.png&amp;quot;\/&gt;\n&lt;\/Grid&gt;\n<\/pre>\n<p>\n\u3053\u308c\u3092\u898b\u308b\u3068\u3001Margin=&#8221;56,44,0,0&#8243; \u3068\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3001Image \u306f Grid \u306b\u5bfe\u3057\u3066(56,44)\u3068\u3044\u3046\u4f4d\u7f6e\u306b\u3042\u308a\u307e\u3059\u306d\u3002\u6b63\u78ba\u306b\u8a00\u3046\u3068 Margin \u306f\u5916\u5074\u306e\u300c\u4f59\u767d\u300d\u306b\u306a\u308b\u306e\u3067\u30010,0 \u306e\u3068\u3053\u308d\u306f\u3001\u53f3\u3068\u4e0b\u306e\u4f59\u767d\u3092\u610f\u5473\u3057\u3066\u3044\u307e\u3059&#8230;\u3068\u8a00\u3044\u307e\u3059\u304b\u3001\u3053\u306e 0,0 \u3063\u3066\u306a\u3093\u306a\u3093\u3067\u3057\u3087\u3046\u306d\uff1f\n<\/p>\n<p>\n\u3067\u3001\u3044\u308d\u3044\u308d\u3084\u3063\u3066\u8a66\u3057\u306b\u3001Image \u3092 Grid \u304b\u3089\u306f\u307f\u51fa\u308b\u3088\u3046\u306b\u914d\u7f6e\u3055\u305b\u307e\u3059\u3002\n<\/p>\n<p><a href='http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/02\/wpid-cworkblogimage20130215_03org.jpg'><img border='0' src='http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/02\/wpid-cworkblogimage20130215_03thum.jpg'\/><\/a><\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;Grid x:Name=&amp;quot;grid1&amp;quot; \n\tHorizontalAlignment=&amp;quot;Left&amp;quot; \n\tVerticalAlignment=&amp;quot;Top&amp;quot; Height=&amp;quot;289&amp;quot; Width=&amp;quot;335&amp;quot; Margin=&amp;quot;343,200,0,0&amp;quot;&gt;\n    &lt;Image x:Name=&amp;quot;pict1&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot; Height=&amp;quot;100&amp;quot; \n\t\tMargin=&amp;quot;356,135,-85,0&amp;quot; \n\t\tVerticalAlignment=&amp;quot;Top&amp;quot; Width=&amp;quot;64&amp;quot; \n\t\tSource=&amp;quot;\/Images\/FC001.png&amp;quot; \/&gt;\n    &lt;\/Image&gt;\n&lt;\/Grid&gt;\n<\/pre>\n<p>\nImage \u306e Margin \u304c &#8220;356,135,-85,0&#8221; \u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002356,135 \u306f\u3001x\u5ea7\u6a19, y\u5ea7\u6a19\u3068\u3057\u3066\u8a08\u7b97\u3067\u304d\u305d\u3046\u3067\u3059\u304c\u3001-85 \u3063\u3066\u4f55\u306a\u3093\u3067\u3057\u3087\u3046\u306d\uff1f\u3063\u3066\u306e\u3092\u304b\u306a\u308a\u60a9\u307f\u307e\u3057\u305f\u3002\u3069\u3046\u3084\u3089\u3001Grid \u5185\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u9593\u306f\u3001right \u3068 bottom \u306f 0,0 \u306a\u3093\u3067\u3059\u304c\u3001grid \u304b\u3089\u306f\u307f\u51fa\u305f\u5834\u5408\u306f\u306f\u307f\u51fa\u305f\u5206\u306e\u300c\u4f59\u767d\u300d\u3092\u30de\u30a4\u30ca\u30b9\u5024\u3067\u8a2d\u5b9a\u3057\u3066\u3044\u308b\u3088\u3046\u306a\u306e\u3067\u3059\u3002\u305f\u3081\u3057\u306b\u3001\u3053\u3053\u3092 0 \u306b\u3057\u3066\u300c&#8221;356,135,0,0&#8243;\u300d\u306b\u3059\u308b\u3068\u3001\n<\/p>\n<p><a href='http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/02\/wpid-cworkblogimage20130215_04org.jpg'><img border='0' src='http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/02\/wpid-cworkblogimage20130215_04thum.jpg'\/><\/a><\/p>\n<p>\n\u306a\u611f\u3058\u3067 Image \u304c\u8868\u793a\u3055\u308c\u306a\u304f\u306a\u308a\u307e\u3059\u3002\u3044\u308d\u3044\u308d\u8a66\u3059\u3068\u8868\u793a\u9818\u57df\u306e\u30af\u30ea\u30c3\u30d4\u30f3\u30b0\u3068\u95a2\u4fc2\u304c\u3042\u308b\u3088\u3046\u306a\u306e\u3067\u3001\u3053\u306e\u30de\u30a4\u30ca\u30b9\u5024\u306e\u4f59\u767d\u3082\u771f\u9762\u76ee\u306b\u8a08\u7b97\u3057\u306a\u3044\u3068\u30c0\u30e1\u306a\u3093\u3067\u3059\u306d\u3002\n<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\nprivate void Button1Click(object sender, RoutedEventArgs e)\n{\n\t\/\/ \u79fb\u52d5\u5bfe\u8c61\u306e\u7d76\u5bfe\u5ea7\u6a19\n\tvar pt1 = pict1.TransformToVisual(null).TransformPoint(new Point(0, 0));\n\t\/\/ \u958b\u59cb\u4f4d\u7f6e\u306e\u7d76\u5bfe\u5ea7\u6a19\n\tvar pt2 = pict2.TransformToVisual(null).TransformPoint(new Point(0, 0));\n\n\t\/\/ \u958b\u59cb\u4f4d\u7f6e\u306b\u79fb\u52d5\n\tdouble dx = pt2.X - pt1.X;\n\tdouble dy = pt2.Y - pt1.Y;\n\tdouble l = pict1.Margin.Left + dx;\n\tdouble t = pict1.Margin.Top + dy;\n\tdouble r = grid1.Width - (l + pict1.Width );\n\tdouble b = grid1.Height - (t + pict1.Height);\n\tpict1.Margin = new Thickness(l,t,r,b);\n}\n<\/pre>\n<p>\n\u79fb\u52d5\u5143\u3068\u79fb\u52d5\u5148\u306e\u7d76\u5bfe\u5024\u3092\u3042\u3089\u304b\u3058\u3081 pt1, pt2 \u3067\u53d6\u5f97\u3057\u3066\u304a\u3044\u3066\u3001grid \u306e\u5bfe\u3057\u3066\u76f8\u5bfe\u5024\u3067 margin \u3092\u8a08\u7b97\u3059\u308b\u3063\u3066\u3053\u3068\u3092\u3084\u308a\u307e\u3059\u3002margin \u306e right \u3068 bottom \u306e\u5024\u306f grid \u304b\u3089\u306f\u307f\u51fa\u305f\u5206\u3092\u8a08\u7b97\u3059\u308b\u306e\u3067\u3059\u3002\u306a\u3093\u304b\u3084\u3084\u3053\u3057\u3044\u3067\u3059\u306d\u3002\n<\/p>\n<p>\n\u3067\u3001\u5b9f\u306f\u3053\u306e\u30b3\u30fc\u30c9\u3067\u306f\u30c0\u30e1\u306a\u3093\u3067\u3059\u3002\u4e00\u5ea6 margin \u3092\u8a2d\u5b9a\u3057\u3066\u3057\u307e\u3046\u3068\u3001pict1.Margin.Left \u306e\u5024\u304c\u5909\u308f\u3063\u3066\u3057\u307e\u3046\u306e\u3067\u3001\u5b9f\u306f\u3082\u3068\u3082\u3068\u306e margin \u306e\u5024\u3092\u4f7f\u308f\u306a\u3044\u30c0\u30e1\u3068\u3044\u3046\u30aa\u30c1\u304c\uff08\u76f8\u5bfe\u5024\u3092\u8a08\u7b97\u3059\u308c\u3070\u3088\u3044\u306e\u304b\u306a\uff1f\uff09\n<\/p>\n<p>\n\u306a\u306e\u3067\u3001\u6700\u521d\u306e margin \u3068 pt1 \u306e\u5024\u3092\u8d77\u52d5\u6642\u306b\u30ad\u30fc\u30d7\u3057\u3066\u304a\u304d\u307e\u3059\u3002\n<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\npublic MainPage()\n{\n    this.InitializeComponent();\n\n\t_ma1 = pict1.Margin;\n\t_pt1 = pict1.TransformToVisual(null).TransformPoint(new Point(0, 0));\n}\n\nThickness _ma1;\nPoint _pt1;\n<\/pre>\n<p>\n\u305d\u3057\u3066\u3001\u5143\u306e\u4f4d\u7f6e\u304b\u3089\u8a08\u7b97\u3057\u306a\u304a\u3059\u3068\u3044\u3046\u30c0\u30b5\u3044\u65b9\u6cd5\u304c&#8230;\n<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\nprivate void Button1Click(object sender, RoutedEventArgs e)\n{\n\t\/\/ \u79fb\u52d5\u5bfe\u8c61\u306e\u7d76\u5bfe\u5ea7\u6a19\n\tvar pt1 = _pt1;\n\t\/\/ \u958b\u59cb\u4f4d\u7f6e\u306e\u7d76\u5bfe\u5ea7\u6a19\n\tvar pt2 = pict2.TransformToVisual(null).TransformPoint(new Point(0, 0));\n\n\t\/\/ \u958b\u59cb\u4f4d\u7f6e\u306b\u79fb\u52d5\n\tdouble dx = pt2.X - pt1.X;\n\tdouble dy = pt2.Y - pt1.Y;\n\tdouble l = _ma1.Left + dx;\n\tdouble t = _ma1.Top + dy;\n\tdouble r  = grid1.Width - (l + pict1.Width );\n\tdouble b = grid1.Height - (t + pict1.Height);\n\tpict1.Margin = new Thickness(l,t,r,b);\n}\n<\/pre>\n<p>\n\u307e\u3042\u3001\u3053\u308c\u3067\u3082\u52d5\u304f\u3068\u3044\u3048\u3070\u52d5\u304f\u306e\u3067\u3059\u304c\u3001\u30ab\u30d7\u30bb\u30eb\u5316\u3059\u308b\u306b\u3057\u3066\u3082\u5143\u306e\u5024\u3092\u53d6\u3063\u3066\u304a\u304f\u3068\u3053\u308d\u304c\u3072\u3069\u3059\u304e\u308b\u306e\u3067\u3001grid \u3068 image \u306e\u4f4d\u7f6e\u3092\u8a08\u7b97\u304c\u7c21\u5358\u306b\u306a\u308b\u3088\u3046\u306b\u5de6\u4e0a\u306e(0,0)\u306b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<br \/>\n\u3059\u308b\u3068\u3001\u6b21\u306e\u3088\u3046\u306b\u5143\u306e\u5024\u3092\u53d6\u3063\u3066\u304a\u304f\u5fc5\u8981\u304c\u306a\u304f\u306a\u308a\u307e\u3059\u3002\n<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\nprivate void Button1Click(object sender, RoutedEventArgs e)\n{\n\t\/\/ \u958b\u59cb\u4f4d\u7f6e\u306e\u7d76\u5bfe\u5ea7\u6a19\n\tvar pt2 = pict2.TransformToVisual(null).TransformPoint(new Point(0, 0));\n\n\t\/\/ \u958b\u59cb\u4f4d\u7f6e\u306b\u79fb\u52d5\n\tdouble dx = pt2.X;\n\tdouble dy = pt2.Y;\n\tdouble l = dx;\n\tdouble t = dy;\n\tdouble r  = grid1.Width - (l + pict1.Width );\n\tdouble b = grid1.Height - (t + pict1.Height);\n\tpict1.Margin = new Thickness(l,t,r,b);\n}\n<\/pre>\n<p>\n\u307e\u3042\u3001\u3053\u308c\u306f\u3053\u308c\u3067\u52d5\u304f\u304b\u3089\u826f\u3044\u304b\u306a\u3001\u3068\u601d\u3063\u3066\u3044\u308b\u308f\u3051\u3067\u3001\u3055\u3066\u3053\u308c\u3092\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u306b\u5fdc\u7528\u3059\u308b\u306e\u306f&#8230;\u7d9a\u304d\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3055\u3066\u3001\u624b\u6301\u3061\u306e\u672d\u3092\u5834\u306b\u6368\u3066\u308b\u3068\u3053\u308d\u306e\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u958b\u59cb\u3001\u3063\u3066\u3053\u3068\u3067\u3061\u3087\u3063\u3068\u60a9\u3093\u3060\u306e\u306f\u3001\u672d\u306e\u5ea7\u6a19\u306f\u3069\u3046\u3084\u3063\u3066\u53d6\u308b\u306e\u3060\u308d\u3046\u304b\uff1f\u3063\u3066\u3053\u3068\u3067\u3059\u3002XAML \u3067\u306f Grid \u304b Canvas \u306b\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u30da\u30bf\u30da\u30bf\u306f\u308a\u3064\u3051\u3066 &hellip; <a href=\"http:\/\/www.moonmile.net\/blog\/archives\/4062\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[23,52],"tags":[],"class_list":["post-4062","post","type-post","status-publish","format-standard","hentry","category-csharp","category-winrt"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/4062","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/comments?post=4062"}],"version-history":[{"count":1,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/4062\/revisions"}],"predecessor-version":[{"id":4063,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/4062\/revisions\/4063"}],"wp:attachment":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/media?parent=4062"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/categories?post=4062"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/tags?post=4062"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}