WPF
WPFアプリケーションで、別スレッドから画面を更新したい場合は、DispatcherクラスのInvokeメソッドに、引数としてメソッドを渡して、UIスレッドで実行されるようにします。 ググってみると、DispatcherクラスにはInvokeメソッドの他に、BeginInvokeメソッド…
過去記事の Prismを使用したWPFアプリケーションのまとまったサンプルを作ってみた - redwarrior’s diary や、 WPFアプリのMainWindowの終了のキャンセルを、MVVMフレームワークを使用して実装する - redwarrior’s diary で使用している、prism:InvokeComman…
ProgressBarの表示って、非同期処理が入るので、意外と難しいですよね。 表示の仕方は、以下のサイトで分かりやすく説明されているのですが、素のWPFなのです。 anderson02.com どうせならば、MVVMアーキテクチャで実装したいなと思いやってみました。 まず…
MSIXアプリケーションをIISで公開する設定は、公式サイトに説明があります。 docs.microsoft.com 必要な部分だけ抜き出すと、IISで公開するためにはMIMEの構成を追加します。MSIXアプリケーションのフォルダの親フォルダに web.config を作成し、以下を記述…
過去の記事でサーバ側のアプリケーション(Web API)について書きましたが、クライアントアプリケーションを新しく作ることになりました。 redwarrior.hateblo.jp Visual Studio 2015で開発するならば、特に困らないのですが、Visual Studio 2019で開発した…
Visual Studioの ファイルのプロパティ のビルド アクションの値で「コンテンツ」と「なし」の違いを調べました。 Visual Studio上でファイルを選択して ファイルのプロパティ に表示される項目のうち、出力ディレクトリにコピー は、値を「常にコピーする」…
WPFプロジェクトに画像ファイルや、実行ファイル等を含めて、プログラムの中から参照したり、実行したりするのは珍しいことではないと思います。 Visual Studio上のソリューションエクスプローラーで対象のファイルをクリックして、プロパティから「出力ディ…
タイトルの内容をやりたい人はあまりいないと思いますが、必要になったので調べました。 以下が作業手順になります。 .NET CoreのWPFアプリケーション、.NET Frameworkのコンソールアプリケーションプロジェクトをソリューション内にそれぞれ作成します。 WP…
一つ前の記事で、サブウィンドウでもMainWindow(親ウィンドウ)と同一のRegionManagerを使用するように設定した。そうしたら、新たな問題が発生した。 サブウィンドウを閉じて、また開くとエラーが発生する サブウィンドウでもMainWindow(親ウィンドウ)と…
Prismを使用したWPFアプリケーションを開発していて、サブウィンドウでRegionを使用した場合に発生したエラーと対処方法 次の画面に遷移できない 現象 Regionを使用した画面遷移 ウィンドウのXAMLにRegionを設定し、コードビハインドで、IRegionManagerイン…
前提のはなし WPFでマスクのついたテキストボックスを作成するには、PasswordBoxというコントロールが用意されている。 PasswordBoxに入力した値は、string型のPasswordプロパティから取得できるが、セキュリティ上はSecureString型のSecurePasswordプロパテ…
Visual Studio 2019からのMSIX形式のアプリパッケージの作成は、他サイトを参考にして出来るようになったので、TFS上でビルドする方法を調査しました。 一応、今回は以下の状態で始めました。 .NET Core 3.1の32bitのWPFアプリケーション Visual Studio 2019…
背景 この間、ClickOnceの発行をする時に、使用したコード署名証明書(コードサイニング証明書)をPCの証明書ストアにインストールしたので、 .NET Coreアプリケーションの配布形式であるMSIXでも試してみました。 MSIX形式で配布する方法を調べると、以下の…
少し前に作成したWPFアプリケーションは、対象OSとしてWindows 8.1も含まれるため、フレームワークとして.NET Framework 4.5.1を使用しました。 Webアプリ(ASP.NET MVC)は、TFS上でビルド(XAMLではない)、リリースが出来るようにしたので(下記参照) redw…
WPFアプリケーションで、自作のボタンを押して画面を閉じて、新しい画面を表示する処理をMVVMフレームワークを使用して実装する方法を調べました。 MVVMフレームワークは、Prismを使用します。 自作のボタンを押して画面を閉じる 自作のボタンを押して画面を…
WPFアプリケーションで、×ボタンを押してメイン画面を閉じるときに、ある条件を満たす場合は閉じないようにしたい場合があります。言い換えると、終了のキャンセルをしたい場合があります。 コードビハインドを使えば、簡単に実装する事が出来ますが(参考: …
タイトルでやりたい事を伝えきったので、やり方を説明します。 ClickOnceの更新方法は、探せば見つかると思いますので割愛します。 参考:ClickOnce に関するまとめ - Qiita ClickOnceによる更新は、アプリケーションを再起動しないと行われません。 なので…
課題 バリエーションエラー 一つ前の記事で、第5回のエラー処理のサンプルを作成した時に、バリエーションによるエラーメッセージを表示した状態で、一覧から別の項目を選択すると、Viewが切り替わり、右側に新しい画面が表示される。 その後、元の項目を表…
新しく作成するアプリケーションで、Windows Forms、WPFで開発するか悩んでいるチームがあったので、 説明用にWPFのサンプルを作成したが、お披露目する前にWindows Formsで開発する事に決まったようなので、勿体無いのでこちらで公開しようと思う。 サンプ…