sh1’s diary

プログラミング、読んだ本、資格試験、ゲームとか私を記録するところ

WPF

新着順 人気順

WPF UI(UI ライブラリ)の使い方(1)

インストールと初期設定 補足(直接指定) 補足(テーマの指定) XAML からライブラリを利用するための設定 システムのテーマを適用する メニュー 参考 WPF の GUI ライブラリ「WPF UI」を使ってみる機会があったので、基本的な使い方をメモ。 WPF の GUI ラ…

WPF OxyPlot の使いかたの基本まとめ

この記事は、C# その2 Advent Calendar 2018 の11日目の記事です。 OxyPlot とは バージョンと作成するタイプ とりあえずグラフを表示してみる(1のやりかた) とりあえずグラフを表示してみる(2のやりかた) リアルタイムに Series データの追加 Serie…

WPF Prism サンプルコードの学習1 (Bootstrapper, Region)

1. BootstrapperShell 2. Region 3. Custom Region Adapter 4. View Discovey 5. View Injection 6. ActivationDeactivation 参考 WPF + .NET Core (5以降は Core は省略される) で Prism を使ってみよう。 使用している Prism のバージョンは次のとおり: …

C# Excel ファイルからセルのデータを読み込む(ClosedXML)

ClosedXML を使った読み込み サンプル 参考 C# で Excel ファイルを読み込んで利用する方法は、ライブラリーを利用したいくつかのやり方があると思います。おそらくよく検討に挙がりそうなのは以下のあたりだと思います。 COM 依存しない ClosedXML (MIT Lic…

WPF RadioButton と Enum 値の Binding

XAML View ViewModel Converter サンプル 参考 WPF の RadioButton の IsChecked プロパティに Enum 値を Binding させたいシーンが結構よくあります。地味に使うケースがあるんだけど、記述方法にひと手間あるんでその内容を記録しました。 この記事の内容…

WPF Prism サンプルコードの学習4 (Commands)

11. DelegateCommands 12. UsingCompositeCommands 13. IActiveAwareCommands まとめ 参考 WPF + .NET Core (5以降は Core は省略される) で Prism を使ってみよう。 使用している Prism のバージョンは次のとおり: 8.1.97 (2021/05/25) GitHub - Prism Sa…

WPF Prism サンプルコードの学習5 (Navigation, Invoke)

14. UsingEventAggregator 15. FilteringEvents 16. RegionContext 17. BasicRegionNavigation 18. NavigationCallback 19. NavigationParticipation 20. NavigateToExistingViews 21. PassingParameters 22. ConfirmCancelNavigation 23. RegionMemberLifet…

WPF Prism サンプルコードの学習2 (Module)

7. Modules 7.1 Modules - AppConfig 7.2 Modules - Code 7.3 Modules - Directory 7.4 Modules - LoadManual 7.5 Modules - Xaml まとめ 参考 WPF + .NET Core (5以降は Core は省略される) で Prism を使ってみよう。 使用している Prism のバージョンは…

WPF Prism サンプルコードの学習3 (ViewModelLocator)

8. ViewModelLocator 9. ChangeConvention 10. CustomRegistrations まとめ 参考 WPF + .NET Core (5以降は Core は省略される) で Prism を使ってみよう。 使用している Prism のバージョンは次のとおり: 8.1.97 (2021/05/25) GitHub - Prism Sample WPF …

Prism Full App (.NET Core) テンプレートを体験する

テンプレートの構成について WPF_Core_FullSample プロジェクト Core プロジェクト Modules.ModuleName プロジェクト Services.Interfaces プロジェクト Services.Services プロジェクト 新しいサービスを追加するテスト Services.Interfaces の修正 Service…

WPF IValueConverter の小ネタとテクニックの整理

MarkupExtension の実装と DependancyProperty の実装 パラメータがないときの実装パターン MarkupExtension の実装パターン Freezable を使う Sample 参考 WPF の IValueConverter を実装するときの考え方と小ネタ。 MarkupExtension の実装と DependancyPr…

WPF でフォルダー選択のダイアログを選択・実装する

System.Windows.Forms のダイアログ Microsoft.WindowsAPICodePack.Dialogs のダイアログ P/Invoke ネイティブ ライブラリーのダイアログ サンプル 参考 ユーザーにフォルダーのパスを選択してもらうダイアログは、WPF (C#) だと以下の選択肢が用意されてい…

WPF ToggleButton 注意点の整理

ToggleButton のデザイン ToggleButton のイベント コード上からの注意点 余談:添付プロパティで対応できるか? 参考 タイトルのとおり、WPF のコントール ToggleButton の使い方についてのメモです。ToggleButton は、通常のボタンに加えて IsChecked プロ…

C# Core Audio API を使ってみる

音量を変更するための P/Invoke 音量を変更するコード サンプル 参考 Core Audio API は Windows Vista から追加された OS のスピーカー設定(音量など)にアクセスするためのものです。 Core Audio API OS のスピーカーまわりをイジるには丁度よい API なの…

Prism 子ウィンドウ(ダイアログ)IDialogAware を表示する

Prism App.xaml MainWindow (View + ViewModel) Dialog1 Dialog2 サンプル 参考 Prism を利用するプロジェクトで子ウィンドウ(ダイアログ)を表示する方法は、バージョンの進化によって変化してきているようです。 現在(下記のバージョン記載)では、ダイ…

WPF カスタムコントロールの作り方(ToggleButton の例)

カスタムコントロールライブラリ ToggleControl のうごき サンプル 参考 WPF のカスタムコントロールの作り方……というか、基本的には設計者が設計したとおりに動作すればそれでいいような気もしますが、WPF にはいろんなカスタムコントロールの作り方があっ…

WPF UI(UI ライブラリ)の使い方(2)Snackbar 編

SnackBar XAML の設定 (最適ではないけど)動作する最小サンプル Prism の DI を使った例 参考 WPF UI のメジャーバージョンが「3」になりました。アップデートに伴って、旧バージョンになった「2」は NuGet でも非推奨になってしまいました。 バージョン…

WPF PasswordBox のバインドとその対策 (Windows Hello)

非推奨でも Password プロパティを Binding する Windows Hello を利用した認証 エラー発生するとき サンプル 参考 PasswordBox コントロールの Password プロパティは仕様のため、バインディングをすることができません。まずもって、バインディングをする…

WPF で Windows Explorer 風のシンプルな ComboBox を作る

Windows Explorer で使われているコンボボックスのイメージはこんな感じのものです。 枠のないコンボボックスが標準なんですね それを、こんな感じで作ってみました。左が作ったもの。右はなにもスタイルを与えていないデフォルトです。 エフェクトを絞った…

.NET プログラムのバージョンを管理する例

バージョンの基本的な用途のポイント 個人的な最小要件のバージョン管理方法 プログラムからのバージョン参照 参考 .NET でアプリケーションを作成したとき、プログラムのバージョンを正しく管理し続けることが難しいプロジェクトが結構あると思います。.NET…

WPF DataGridCell の TextBox だと KeyDown などのイベントが発生しない

問題点 備考 イベントを発生させるための対策 サンプル 参考 問題点 WPF の DataGrid で DataGridTemplateColumn のテンプレートで TextBox(カスタムしたものなど)を設定しているとします。 数字のキーを押して、フォーカスを与えています わかりにくいけ…

GridSplitter の配置状態の保存・復元

GridSplitter の配置状態の保存・復元 詳細 変更点 サンプルのダウンロード 参考 GridSplitter の配置状態の保存・復元 要点は、 WPFのGridSplitterで*でサイズ指定してるときにサイズの保存と復元をする方法 - かずきのBlog にあるとおりです。 例えば、ウ…

C# .Net Framework と Visual C 再配布パッケージのインストール確認

.NET Framework のバージョン確認 Visual Studio 20XX Visual C++ 再頒布可能パッケージの確認 サンプル おまけ(ランタイム is なに) 参考 いまでも WPF の Windows ネイティブアプリケーションを作るときに .NET Framework を使うことがあるのですが、古…

C# NLog を利用したプログラムサンプル

NLog を利用する手順 Debugger File ソースコード上からの Logger アクセス サンプル 参考 NLog を実際に利用するために、サンプルを作成した。サンプルでは「Window起動時のイベント発生順位」と同じ内容を実行してみた。気になる点があったので、自分でも…

Blend for Visual Studio で簡単なアイコン(図形)を描く方法

Blend for Visual Studio を使って、パスを使った図形を作成するために個人的につかいやすい方法例をメモした記事です。 Blend for Visual Studio を使う プロジェクト選択の注意 プロジェクトの構成 テスト サンプル 参考 シンプルな図形を用意するときはパ…

WPF + .NET 5 で CsWin32metadata を利用するサンプル

.NET 5 環境で Win 32 API を利用しようと思ったら、従来なら P/Invoke(DllImport)で利用する関数や構造体なんかを再定義して利用していたと思います。2021 年末を完成目標にして「win32metadata」が立ち上がっているので、こっちを利用してみるテスト。 w…

WPF で発生した例外をすべて記録するテクニック

例外処置 1.FirstChanceException イベント (最初に処理) 2.UnhandledException イベント (未処理例外を最後に処理) 3.DispatcherUnhandledException イベント (UI スレッドの例外処置) Task.Run() で例外を捕捉できない書き方 例外が起こりやすいプロ…

WPF トーストの表示

WPF (.NET6) でトースト表示をテストしてみた内容を記録します。 かつてのトースト表示は、アプリケーションをパッケージ化したり証明書が必要であったりしたため、利用には面倒がありました。 現在は、かなりの面倒がなくなっており、ちょっとした通知の実…

SQLite ライブラリーを参照する WPF プロジェクトのシンプルな例

目標 SQLite のインストール App.config DbConfiguration の記述 O/R マッピング DbContext 動作チェック サンプルコード 参考 目標 WPF のメインプロジェクトと DB のプロジェクトを分離すること。 DB のプロジェクトを分離しておくのは、無難だと思います…

WPF UserControl クラスから ContentRendered イベントをバインドする

問題の例 ContentRendered イベントを UserControl から利用する ContentRendered.Command の実装例 サンプル 参考 通常、UserControl から ContentRendered イベントを使いたいシーンはあまり無いと思いますが、例外になるケースがありました。 Prism の Di…