rksoftware

Visual Studio とか C# とかが好きです

WPF

WPF で OpenFolderDialog

皆さん .NET 8 使っていますか? 使っていますよね? 知っています。皆さん使っています。 ■ .NET 8 の WPF の新機能 OpenFolderDialog learn.microsoft.com learn.microsoft.com .NET 8 で WPF で OpenFolderDialog が使えるそうです。 皆さん WPF で OpenF…

RDP での WPF ハードウェア アクセラレーション

皆さん .NET 8 RC1 を使い始めていると思います。私も使い始めています。 そんな .NET 8 RC1 に気になる項目があります。「 RDP での WPF ハードウェア アクセラレーション 」です。 devblogs.microsoft.com これは、リモートデスクトップでアプリを使ってい…

C# で作れるアプリ(デスクトップ)

作れるアプリ C# では多彩な形式のアプリが作れます。ほぼ JavaScript が支配的な実行環境となる Web フロントエンドを除いてほぼなんでも作れます。Web フロントエンドについては Web Assembly という技術であれば C# でも作れますが、まだ仕事は少ないのが…

WPF プロジェクトテンプレートの名前

もうすぐ .NET 5 ですね。最近は私も .NET 5 RC 2 を使える Visual Studio のプレビュー版をさわっています。 というか実は今更さわり始めました。で、いきなり小さなことなのですが Windows デスクトップアプリのプロジェクトテンプレートの名前が少し変わ…

dotnet コマンドで .NET 5 のデスクトップアプリのプロジェクトを作る

以前に dotnet コマンドで .NET 5 のコンソールアプリのプロジェクトを作ってみました。 今度はデスクトップアプリのプロジェクトを作ってみます。 ■ コンソールアプリのプロジェクト ファイル コンソールアプリの場合のプロジェクト ファイルは次のようにな…

.NET 5 を RC1 版で動かしてみる

みなさんお待ちかねの .NET 5 のリリースが迫っています。もう少しだけ待ちの日々ですが .NET 5 の RC1 版が公開されて動かすことができます。 そこで、実際に環境を整えて動かしてみましょう。 ■ 用意するもの Visual Studio 2019 の Preview 版をインスト…

UWP で XAML で ViewModel を指定する

UWP で XAML で ViewModel を指定する際に WPF とほんの少し違ったので。 ■ WPF の場合 ViewModel のクラスが名前空間 WpfApp1.ViewModels に MainPageViewModel として作っているとします。その場合 XAML で Window の属性に xmlns:vm="clr-namespace:WpfAp…

Visual Studio 2019 16.4 での気になる機能 デザイナーとは別のウィンドウでのポップアップ XAML エディター

先日 Visual Studio 2019 16.4 がリリースされました。 デスクトップアプリを主に作ってきた身としてはあまり大きな機能はないのですが、すこしだけ気になった機能があります。それが デザイナーとは別のウィンドウでのポップアップ XAML エディター です。 …

WPF アプリケーションを .NET Core 3.0 に移植する

先日、毎日チェックしている RSS で次の記事を見つけました。 WPF と WinForms の .NET Core 3.0 移行記事です。とても関心のある話題なのでなぞってやってみました。 いずれ実際に移行をする時のために、私は英語力皆無ですしやってみた結果を日本語で自分…

.NET Core 3 の WPF で XAML がプレビューされるらしいので試してみた ※修正追記あり

.NET Core 3 の WPF で XAML がプレビューされるようになったと聞いて早速試してみました。 試した環境は Visual Studio 2019 の Preview 版 + .NET Core 3 の Preview 5 です。 ・ A preview of the XAML Designer for .NET Core 3.0 WPF development is av…

Microsoft Learn でクライアントアプリや Web アプリを学べそうなもの

(2019/03/30 時点です) コンテンツは日々増えているようなので、これを読んでいるときには状況も変化しているかもしれません。 ■ Microsoft Learn オンラインでマイクロソフトのプロダクトを無料で学べます。 2019/03/30 時点で 360 の学習内容があります。…

.NET Core 3 の WPF でもデザイナをあきらめない(目次)

プレビューですが、.NET Core で動作する WPF アプリが作れるようになっています。 しかし、画面デザイナがありません。 ※日頃の行いの良い方の Visual Studio 2019 RC にはデザイナがあるのかもしれませんが少なくとも私の Visual Studio 2019 RC にはあり…

.NET Core 3 の WPF でもデザイナをあきらめない(ViewModel/DependencyInjection)

以前に .NET Core 3 の WPF でデザイナを使うために、XAML ファイルを .NetFramework プロジェクトで開くという力強い記事を書きました。 ViewModel は .NET Standard クラスライブラリを作るとスマートというスマートな記事も書きました。 ViewModel は Sha…

.NET Core 3 の WPF でもデザイナをあきらめない(ViewModel/SharedProject)

以前に .NET Core 3 の WPF でデザイナを使うために、XAML ファイルを .NetFramework プロジェクトで開くという力強い記事を書きました。 ViewModel は .NET Standard クラスライブラリを作るとスマートというスマートな記事も書きました。 その続編です。 ■…

.NET Core 3 の WPF でもデザイナをあきらめない(ViewModel/.NET Standard)

以前に .NET Core 3 の WPF でデザイナを使うために、XAML ファイルを .NET Framework プロジェクトで開くという力強い記事を書きました。 その続編です。 ■ ViewModel はどうするか? ■ 普通に .NET Core プロジェクトに ViewModel を追加してみます。 プロ…

.NET Core 3 の WPF でもデザイナをあきらめない(基本)

プレビューですが、.NET Core で動作する WPF アプリが作れるようになっています。 しかし、画面デザイナがありません。 ※日頃の行いの良い方の Visual Studio 2019 RC にはデザイナがあるのかもしれませんが少なくとも私の Visual Studio 2019 RC にはあり…

Visual Studio 2019 で .NET Core のデスクトップアプリテンプレートを手に入れる

先日、.NET Core 対応の WPF アプリのテンプレートがなく dotnet コマンドで作るという記事を書いていました。 しかし、今では Visual Studio 2019 でテンプレートから作れるようになっています。 ■ テンプレートを手に入れる .NET Core 3 プレビューの最新…

.NET Core デスクトップアプリケーションで DioDocs で作った PDF 帳票を印刷する

.NET Core 3.0 で Windows デスクトップアプリ(WPF/WinForms)が .NET Core で作れるようになりました。 しかし、実際にデスクトップアプリを作る際には様々なライブラリを導入することが多いものです。その中でもいわゆる帳票出力コンポーネントは日本では非…

.NET Core デスクトップアプリケーションで PDF 帳票を画面表示する

.NET Core 3.0 で Windows デスクトップアプリ(WPF/WinForms)が .NET Core で作れるようになりました。 しかし、実際にデスクトップアプリを作る際には様々なライブラリを導入することが多いものです。その中でもいわゆる帳票出力コンポーネントは日本では非…

.NET Core デスクトップアプリケーションから DioDocs を使って帳票を PDF 出力する

.NET Core 3.0 で Windows デスクトップアプリ(WPF/WinForms)が .NET Core で作れるようになりました。 しかし、実際にデスクトップアプリを作る際には様々なライブラリを導入することが多いものです。その中でもいわゆる帳票出力コンポーネントは日本では非…

XAML Islands の Windows Community Toolkit でラップされたコントロール (WPF編)

XAML Islands についての公式ドキュメントの ラップされたコントロール というセクションで 6 つのコントロールが挙げられています。 ラップされたコントロール WebView WebViewCompatible InkCanvas InkToolbar MediaPlayerElement MapControl これらのコン…

XAML Islands でコントロールを一通り表示してみる

XAML Islands で全ての UWP コントロールは使えなさそうな雰囲気だったので、Windows.UI.Xaml.Controls 名前空間のそれらしいクラスを画面に配置してみました。 UWP のコントロールは 100 以上あるらしく全ては把握押していないので画面に配置してエラーにな…

XAML Islands で InitializeForCurrentThread メソッドが必要なパターン

以前に XAML Islands で UWP のコントロールを生成する場合、その前に global::Windows.UI.Xaml.Hosting.WindowsXamlManager.InitializeForCurrentThread(); の一文が必要らしいけれど、実際書かなくても大丈夫だったと書きました。 今回この一文を書く必要…

XAML Islands で表示スケールに対応する

WPF で XAML Islands を使う際に表示スケールがまだサポートされていないことを以前書きました。 まだサポートされていないと言われているのでそれまで。サポートを待てばよいのですがどうにも辛抱たまらんので頑張ってみました。 ■ 表示スケール ハードウェ…

WPF や Windows フォームアプリケーションで最新機能に対応する XAML Islands (目次)

Windows 10 October Update (Version 1809) で XAML Islands という機能が使えるようになりました。Windows 10 の UI コントロール (UWP のコントロール) が WPF や Windows Forms アプリケーションで使える夢の機能です。 詳細は公式ドキュメントへ XAML Is…

XAML Islands の使用時に表示が思い通りにならなかった件について

先日、WPF アプリケーションでの XAML Islands を試す記事を書きました。 その中で、レイアウトが思った通りに表示されないという場面がありました。 期待した表示 実際の表示 ■ 再現方法 Windows の表示スケールを変更します。 期待した表示 はスケール100%…

WPF で ProgressBar が動かない

WPF

「ProgressBar IsIndeterminate 動かない」という検索ワードでこのブログへたどり着く方がいらっしゃるようで、こういうことなのかは分かりませんがちょっと書いておこうと思います。 まずは WPF で ProgressBar を使う方法の記事です。 ■ IsIndeterminate =…

WPF でUWP の ProgressRing を表示する

以前、WPF で ProgressRing を表示する記事を書きました。 WPF に ProgressRing がないのでライブラリを導入する記事でした。 そして、UWP で ProgressRing を表示する記事も書きました。 UWP には ProgressRing があるのでただ表示するだけという記事でした…

.NET Core 3.0 でデスクトップアプリを作る(VS プレビュー版を使わない)

以前 .NET Core 3.0 で WPF や WinForms のデスクトップアプリが作れるようになるという発表があり、クラシックデスクトップアプリ界隈が非常に高い関心を示しています。そんな .NET Core 3.0 でデスクトップアプリですが、実際に試せるそうです。 単純に試…

WPF で ProgressRing

WPF

以前に WPF で ProgressBar で処理中を表現する記事を書きました。 しかし、モバイルOSの世界では一般的に Ring 表現ですし、Webサイトでも Ring 表現が多くなっています。 そんな最近はやりの ProgressRing ですが残念ながら WPF の標準コントロールにはあ…