sh1’s diary

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

WPF

新着順 人気順

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

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

WPF 使用したファイルの履歴メニューを作る

今回は、使用したファイルなどの履歴メニューをシンプルに実装してみたサンプルの記事です。 作ってみた(動作の雰囲気) 画面 メニューの生成コード コレクションの実装例 並びを反転させる サンプル user.config ファイル 参考 だいたいのアプリケーション…

WPF DataGrid の列の位置・横幅を記憶する方法

こんな感じのことがやりかったので、テストで作成してみました。 データグリッドの列の見た目(列番号・幅)を保存します 保存する情報 取得 復元 サンプル 参考 今回の例では、ウィンドウ(MainWindow クラス)を閉じるタイミング(Closing イベント)でデ…

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

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

WPF 「リボン」コントロールを TabControl で作る

通常のリボンコントロール代替案は「Fluent.Ribbon」になるのですが、コントロールが Office っぽく寄せすぎてしまうため、とりあえずのリボンコントロールを TabControl で作ってみた一例の記事です。 使い方のコード リボン TabControl のコード 補足 その…

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

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

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

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

MediaPlayer ファイル読込、再生時の例外 0xC00D11BA

WPF の MediaPlayer の MediaFailed イベント は、オーディオデバイスが存在しないときに(も)発生するようです。その他の例は、いくつか記事がありました。 これに関して、よろしくないのは MS Docs の概要に「Occurs when an error is encountered.」しか…

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

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

C# で GCP の TextToSpeech (TTS) を試す (Visual Studio 2015)

環境 Google.Cloud.TextToSpeech.V1 (1.0.0-beta02) この記事は、まだ TTS がプレリリースのころのものです。 2018 年 6月 19日のバージョンを使用しています。 GCP Text To Speech の準備 テキストを音声に変換することができる TTS (Text to speech) をや…

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

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

Visual Studio (管理者実行) のデバッグ時、ドラッグアンドドロップが使えない簡単な対応

原因 症状の確認 対応 補足 参考 原因 Visual Studio の デバッグモードで起動したウィンドウは「管理者権限」、デスクトップなどの explorer.exe は「管理者権限ではない」ときにドラッグ&ドロップを受け付けない問題が起こるようです。 Windows Vista 以…

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

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

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

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

ウィンドウの配置状態の保存・復元の実装例

ウィンドウの配置状態の保存・復元 詳細 変更点 サンプルのダウンロード 参考 ウィンドウの配置状態の保存・復元 要点は、 MSDN にあるとおりです。 WINDOWPLACEMENT 構造体 が、画面上のウィンドウの配置についての情報を管理しているため、この情報を保存…