{"id":7728,"date":"2016-01-13T16:11:12","date_gmt":"2016-01-13T07:11:12","guid":{"rendered":"http:\/\/www.moonmile.net\/blog\/?p=7728"},"modified":"2016-01-13T16:12:57","modified_gmt":"2016-01-13T07:12:57","slug":"xamarin-forms-%e3%81%a7%e3%83%89%e3%83%a9%e3%83%83%e3%82%b0%e3%82%92%e5%ae%9f%e8%a3%85%e3%81%97%e3%82%88%e3%81%86%ef%bc%88xamarin-forms-on-winphone%ef%bc%89","status":"publish","type":"post","link":"https:\/\/www.moonmile.net\/blog\/archives\/7728","title":{"rendered":"Xamarin.Forms \u3067\u30c9\u30e9\u30c3\u30b0\u3092\u5b9f\u88c5\u3057\u3088\u3046\uff08Xamarin.Forms on WinPhone\u7de8\uff09"},"content":{"rendered":"<p>\nXamarin.Forms \u3067\u30c9\u30e9\u30c3\u30b0\u3092\u5b9f\u88c5\u3057\u3088\u3046\uff08\u306e\u3046\u308a\u3093\u7de8\uff09<br \/>\n<a href=\"http:\/\/www.moonmile.net\/blog\/archives\/7653\">http:\/\/www.moonmile.net\/blog\/archives\/7653<\/a><br \/>\nXamarin.Forms \u3067\u30c9\u30e9\u30c3\u30b0\u3092\u5b9f\u88c5\u3057\u3088\u3046\uff08Android\u7de8\uff09<br \/>\n<a href=\"http:\/\/www.moonmile.net\/blog\/archives\/7667\">http:\/\/www.moonmile.net\/blog\/archives\/7667<\/a><br \/>\nXamarin.Forms \u3067\u30c9\u30e9\u30c3\u30b0\u3092\u5b9f\u88c5\u3057\u3088\u3046\uff08Xamarin.Forms on Android\u7de8\uff09<br \/>\n<a href=\"http:\/\/www.moonmile.net\/blog\/archives\/7670\">http:\/\/www.moonmile.net\/blog\/archives\/7670<\/a><br \/>\nXamarin.Forms \u3067\u30c9\u30e9\u30c3\u30b0\u3092\u5b9f\u88c5\u3057\u3088\u3046\uff08Xamarin.Forms on iOS\u7de8\uff09<br \/>\n<a href=\"http:\/\/www.moonmile.net\/blog\/archives\/7723\">http:\/\/www.moonmile.net\/blog\/archives\/7723<\/a>\n<\/p>\n<p>\n\u306e\u7d9a\u304d\u3067\u3059\u3002\n<\/p>\n<p>\n\u6700\u5f8c\u306f Windows Phone \u3067\u52d5\u304b\u3057\u307e\u3059\u3002<br \/>\n\u3082\u3068\u3082\u3068\u306e Xamarin.Forms \u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067\u3001Windows Phone 8.1 \u7248\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u304a\u305d\u3089\u304f Windows 10 \u7528\u306e UWP \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u3082\u52d5\u304f\u306f\u305a\u3067\u3059\u3002\n<\/p>\n<p><h2>Windows Phone \u306e\u30ec\u30f3\u30c0\u30e9\u30fc\u3092\u4f5c\u308b<\/h2>\n<\/p>\n<p>\nBoxDragXF.WinPhone \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b BoxExRenderer \u30af\u30e9\u30b9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002Windows Phone\/Mobile \u304c\u4e00\u756a\u7c21\u5358\u3067\uff08\u7c21\u5358\u306a\u3088\u3046\u306b\u3057\u305f\u306e\u3067\uff09\u3001\u305d\u306e\u307e\u307e ManipulationDelta \u30e1\u30bd\u30c3\u30c9\u3092\u6e21\u305b\u3070 ok \u3067\u3059\u3002\u6e21\u3059\u3068\u304d\u306e\u5f15\u6570\u306f\u3001\u7591\u4f3c\u7684\u306a\u307b\u3046\u306e ManipulationDeltaRoutedEventArgs \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306a\u306e\u3067\u3001\u305d\u3053\u3060\u3051\u30b3\u30f3\u30d0\u30fc\u30c8\u3057\u307e\u3059\u3002\n<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n &#x5B;assembly: ExportRenderer(typeof(BoxViewEx), typeof(BoxExRenderer))]\r\nnamespace BoxDragXF.WinPhone\r\n{\r\n    class BoxExRenderer : Xamarin.Forms.Platform.WinPhone.BoxViewRenderer\r\n    {\r\n        protected override void OnElementChanged(ElementChangedEventArgs&lt;BoxView&gt; e)\r\n        {\r\n            base.OnElementChanged(e);\r\n            this.ManipulationDelta += BoxExRenderer_ManipulationDelta;\r\n        }\r\n        \r\n        private void BoxExRenderer_ManipulationDelta(object sender, System.Windows.Input.ManipulationDeltaEventArgs e)\r\n        {\r\n            var el = this.Element as BoxViewEx;\r\n            el.OnManipulationDelta(el, new BoxDragXF.ManipulationDeltaRoutedEventArgs(el, e.DeltaManipulation.Translation.X, e.DeltaManipulation.Translation.Y));\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p><h2>\u5b9f\u884c\u3057\u3066\u307f\u308b<\/h2>\n<\/p>\n<p>\nHyper-V \u306e\u30a8\u30df\u30e5\u30ec\u30fc\u30bf\u30fc\u3067\u52d5\u304b\u3057\u3066\u307f\u307e\u3059\u3002\u3053\u308c\u3067\u3001\u540c\u3058 Xamarin.Forms \u3092\u4f7f\u3063\u3066\u3001\u4e09\u6a5f\u7a2e\uff08Android\/iPhone\/Windows Phone\uff09\u3067\u540c\u3058\u3088\u3046\u306b\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u30c9\u30e9\u30c3\u30b0\u3067\u304d\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002\n<\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-7728-1\" width=\"640\" height=\"480\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2016\/01\/2016-01-13-Win-Drag.mp4?_=1\" \/><a href=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2016\/01\/2016-01-13-Win-Drag.mp4\">http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2016\/01\/2016-01-13-Win-Drag.mp4<\/a><\/video><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Xamarin.Forms \u3067\u30c9\u30e9\u30c3\u30b0\u3092\u5b9f\u88c5\u3057\u3088\u3046\uff08\u306e\u3046\u308a\u3093\u7de8\uff09 http:\/\/www.moonmile.net\/blog\/archives\/7653 Xamarin.Forms \u3067\u30c9\u30e9\u30c3\u30b0\u3092\u5b9f\u88c5\u3057\u3088\u3046\uff08Android\u7de8 &hellip; <a href=\"https:\/\/www.moonmile.net\/blog\/archives\/7728\">\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":[3],"tags":[],"class_list":["post-7728","post","type-post","status-publish","format-standard","hentry","category-dev"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/7728","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/comments?post=7728"}],"version-history":[{"count":3,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/7728\/revisions"}],"predecessor-version":[{"id":7732,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/7728\/revisions\/7732"}],"wp:attachment":[{"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/media?parent=7728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/categories?post=7728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/tags?post=7728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}