.NET Core 3.0 WPFを試す(ノードベース電卓をつくってみた)

試してみた Visual Studio2019 + .NET Core 3.0の組み合わせではWPFが使えるぞということで新規プロジェクトを作成して試してみました。 とりあえず.NET Coreを使っているということを忘れて今までのWPFを使っている気持ちで書いてみて、どんな感じか見てみようと思います。 利用方法は色んな方が紹介されていますが、Visual Studio2019と.NET Core 3.0をインストールして、Visual Studioのオプションから「プレビューの.NET Core SDKを使用」にチェックをONすると使えるようになります。 .NET Core 3.0が正式版になればこのチェックはいらなくなると思います。 C# 8.0 null許容参照型 同時にC# 8.0で導入されるnull許容参照型も試してみました。 今回は新規プロジェクトを作って試すので、.csprojに以下のように記載をしてプロジェクト全体でnull許容参照型を有効にしています。 <propertygroup></propertygroup> <outputtype></outputtype>WinExe <targetframework></targetframework>netcoreapp3.0 <usewpf></usewpf>true <langversion></langversion>8.0 <nullablecontextoptions></nullablecontextoptions>enable この設定にすることで、今までの参照型の書き方ではnullをいれることができなくなります。 またnullである可能性がある変数にアクセスすると警告を出してくれるようになります。 作ったもの 新規でプロジェクトを作るので、何かテーマを決めようと思い、 仕事で触っているUnreal Engine(UE4)や最近注目しているHoudiniというツールでノードベースの作成環境をよく見ているので「ノードベースタイプのUI」をテーマにしました。 ただノードをつなげるだけだと面白くないので、電卓機能をいれています。 作ったものは、この記事を書いた時点で以下のような感じです。 現状ノードをつなげて足し算と引き算ができます。 {{< x user=“ayuma_x” id=“1127130209390477312” >}} プロジェクト一式はGitHubで公開しています。 ※ このノードベース電卓ですが、まだまだ作成中の段階のため頻繁に修正しています。 NuGetからの参照 今回NuGetからは以下の4つを参照に加えています。 Extended.Wpf.Toolkit gong-wpf-dragdrop Microsoft.Xaml.Behaviors.Wpf ReactiveProperty この中で、Extended.Wpf.ToolkitとMicrosoft.Xaml.Behaviors.Wpfは.NET Core 3.0にまだ対応していないようで以下の警告がでました。 NU1701: パッケージ &#39;Extended.Wpf.Toolkit 3.5.0&#39; はプロジェクトのターゲット フレームワーク &#39;.NETCoreApp,Version=v3.0&#39; ではなく &#39;.NETFramework,Version=v4.6.1&#39; を使用して復元されました。このパッケージは、使用しているプロジェクトとの完全な互換性がない可能性があります。 NU1701: パッケージ &#39;Microsoft.Xaml.Behaviors.Wpf 1.0.1&#39; はプロジェクトのターゲット フレームワーク &#39;.NETCoreApp,Version=v3.0&#39; ではなく &#39;.NETFramework,Version=v4.6.1&#39; を使用して復元されました。このパッケージは、使用しているプロジェクトとの完全な互換性がない可能性があります。 とりあえず使っている範囲での動作には問題がないのと、.NET Core 3.0はまだプレビュー版なので気にしない事にしています。 ...

2019-05-13 · 2 分 · 246 文字 · ayumax