markdown WPFでXamarin.Formsをホストする

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown WPFでXamarin.Formsをホストする相关的知识,希望对你有一定的参考价值。

---
uti: com.xamarin.workbook
id: 86e9f8bb-9227-4deb-92b7-21b05b144e40
title: wpf_xamarin
platforms:
- WPF
packages:
- id: Xamarin.Forms.Platform.WPF
  version: 3.4.0.1009999
---

Xamarin.Forms.Platform.WPFをNugetから追加

```csharp
#r "Xamarin.Forms.Core"
#r "Xamarin.Forms.Xaml"
#r "Xamarin.Forms.Platform"
#r "Xamarin.Forms.Platform.WPF"
```

Xamarin.Formsをホスト出来るWindowを作成、ContentPageを指定したApplicationインスタンスを起動

```csharp
using Xamarin.Forms;
using Xamarin.Forms.Platform.WPF;

var page = new ContentPage();
var window = new FormsApplicationPage { Title = "Xamarin.Forms on WPF", Width = 320, Height = 480 };
Xamarin.Forms.Forms.Init();
window.LoadApplication(new Application { MainPage = page });
window.Show();
```

ContentPage.Content に表示したいコンポーネントを設定

```csharp
var tapGesture = new TapGestureRecognizer();
tapGesture.Tapped += (s, e) => 
{
    if (s is Label label)
    {
        Device.OpenUri(new Uri(label.Text));
    }
};
var layout = page.Content = new StackLayout { Margin = new Thickness(20), Spacing = 4, Children = 
{
    new Label { Text = "Hello from Xamarin.Forms" },
    new Label 
    {
        Text = "http://www.google.co.jp/", 
        TextDecorations = TextDecorations.Underline,
        TextColor = Color.DarkBlue,
        GestureRecognizers = { tapGesture }
     }
}};
```

以上是关于markdown WPFでXamarin.Formsをホストする的主要内容,如果未能解决你的问题,请参考以下文章

markdown 招摇で基本认识でNetworkError

xml 【WPF】边境で破线を引く

markdown RinRubyでR言语内の変数をRubyで参照する

xml 【WPF】工具提示でのヒントが有效になっていないで控制工具提示を有效にする

xml WPF:xamlで文字列を改行させる。

markdown CSSで三角形