WPF
アプリケーションの開始から終了までのイベントの発生順を整理しました。 クラス イベント 補足 Application コンストラクタ Application Startup Application Navigating MainWindow コンストラクタ MainWindowViewModel コンストラクタ MainWindow DataCon…
「Visual Studio 2019 Launch Event in Tokyo.」で、Visual Studio 2019で始める「WPF on .NET Core 3.0」開発 というタイトルで登壇してきました。 資料はこちら Visual Studio 2019で始める「WPF on .NET Core 3.0」開発 from Atsushi Nakamura www.slides…
Dispatcher.BeginInvokeを介して呼び出すと期待通り動作することがあります。 ↓のような感じで。 Dispatcher.BeginInvoke(new Action(() => { MyTextBox.Focus(); MyTextBox.SelectAll(); }));
本稿は2019年2月10日現在の情報です。随時変更されると思います。 16.0.0 Preview 2.2時点ではVisual Studioからインストールすることができない 公開インストーラーは4.0までしかない NuGetには個人が公開したものしかなくライセンスが不明瞭(物は正規のも…
インストーラーを起動して個別コンポーネントからインストールします。 個別コンポーネントの中の「SDK、ライブラリ、およびフレームワーク」の中の「Blend for Visual Studio SDK for .NET」をインストールする つぎのパスにインストールされるので、必要な…
いつも忘れて過去のコードを探しに行くのでメモを。
CodeZineさんで「実践WPF業務アプリケーションのアーキテクチャ」という記事を書かせていただきました。 実践WPF業務アプリケーションのアーキテクチャ ~ マイクロソフト公式サンプルデータベースAdventureWorksを題材に 概要編 実装編 マイクロソフトさん…
Prism for WPFではRegionという機能を利用することで、画面遷移実装する事ができます。具体的にはこちらをご覧ください。 さて、Regionを利用して画面遷移した場合、デフォルトの振る舞いではViewやViewModelのインスタンスは、一度生成されると以後はキャッ…
例えば次のコードがあったとします。 [Fact] public void WhenClosed() { var window = new Window(); } これを実行すると次のようなエラーがでます。 UIはテストしないんじゃないの?と言われそうな気もしますが、Windowに貼り付ける汎用Behaviorをライブラ…
去年末からリリースの待たれていたPrism 6.3.0が先ほどリリースされました。 https://github.com/PrismLibrary/Prism/wiki/Release-Notes-6.3.0 今回のリリースはXamarinから見ると非常に多くの魅力的な機能追加が含まれています。 画面遷移時に、遷移前処理…
私も良くやるので、もっとも有効な調査方法をさらっと書いておきます。
なんらかの理由で、ViewとViewModelのアセンブリを分割したいことがあるかと思います。 ViewModelからViewをうっかり呼ばせたくない ViewModelをきちっと分離して複数のViewから再利用したい なんだかカバレッジでViewModelを綺麗に100%にしたいなあ 趣味 な…
WPFで利用されている画像オブジェクトであるImageSourceと、WinFormsなんかで利用しているSystem.Drawing.Bitmapを相互変換したい場合がたまにあるため、ここにメモを残しておきます。
WPFではそれまでのWinFormsとは違い、WICベースのImageSourceクラスやBitmapImageクラスなどを利用して画像処理を行います。 Windows Imaging Component - Wikipedia ただ、あまり情報が少ないというか、「.NETで画像処理=System.Drawing」な情報ばかりでて…
さて、前回はPrism.FormsのHello, Worldの記事を書かせていただきました。 nuits.hatenadiary.jp 今回以降は、いよいよ個々のエッセンスを掘り下げて行きたかったのですが...どの話をするにしても、「なぜその機能が必要なのか?」を説明しようとすると、ど…
WPFのTransformクラスには画面要素を変形するためのいくつかの機能が用意されており、拡大縮小なんかを簡単に実現することができます。 仕事がら、これを使って画像ビューアなんかを良く作っているのですが、うっかりしていて少しハマったのでメモを残してお…
ICommandとはなにか ICommandの概要 void Execute(object parameter) bool CanExecute(object parameter) event EventHandler CanExecuteChanged; RelayCommand・DelegateCommandとはなにか DelegateCommandの簡単な利用方法 ICommandとはなにか XAMLで発生…
数日前にAyaseってIDのオータガーさんと、下のような会話をしました。 @AyaseSH TriggerでOnAppearingイベント捕まえてCommandバインディングとかじゃ上手くいかない感じですかね?それともOnAppearingの実行中の状態(始まり~終わりまで)を正確に欲しい案…
昨日ブログを公開したところ、Xamarinの中の先生にElementNameとx:Referenceの違いについて気になる点を教えていただきました。 というわけで、補足となるエントリーを書き起こしておこうかなと。 なお表題のとおり今回はXamarinではなくてWPFのお話です。 …
JavaScriptでエラーが発生すると、標準だと以下のようなダイアログが表示されます。 FormsのWebBrowserだとプロパティを変更するだけですが、WPFだと少し分かり難いです。 本エントリーではWPFのWebBrowserでJavaScriptのエラーを抑止する方法を記載します。
WebBrowserコントロールを利用している際に、JavaScriptでopenメソッドを呼ばれるなどで新しいWindowを開かれるとポップアップでIEが開かれてしまい、制御がプログラムから外れてしまいます。 本エントリーでは新しいWindowが開かれる前にイベントをインター…
表題の通りです。 WebBrowserクラスのDocumentクラスから取得すると、通常のクッキーは取得できても、HttpOnly属性のついているクッキーは取得できません。 本エントリーではその方法を説明します。
WPFで作ったアプリケーション内にWebBrowserを埋め込んで、そのWebBrowserで任意のUserAgentを利用する方法を記載します。 解決すれば何てことは無かったのですが、案外ハマったのでメモを残しておきます。