目次(WPF/xaml/C#/C++関連メモ)
目次
■画面作成(WPF/xaml)
WPFの画面部品をいじる関連
スタイル/Template(Style/Template)
考え方と基本的な使い方
実際に使ってみる
styleでアニメーションを動かす(Storyboard)
- [C#/WPF] Storyboardの動かし方(Startのさせ方) あれこれ
- Storyboardでアニメーションをつくる
- Storyboardでアニメーションをつくる2(TargetPropertyの階層的な指定)
- xaml+C#で当番決めのためのルーレットを作る(アニメのstart/stopをコードからやる)
style/Templateの便利な使い方
- Templateで見た目を変えつつStyleとTriggerでMouseOver等のときの色を変える
- BasedOnを使って元のstyleを受け継ぐ
- EventTriggerを使って、Buttonでなくてもクリック時のCommandをかけるようにする
- DataTriggerを使って、ViewModelのフラグ等にバインドして、見た目を変化させる
- ControlTemplateの中にViewModelのプロパティをバインドする
リソースディクショナリ(ResourceDictionary)
ユーザーコントロール(UserControl)
- 簡単なユーザーコントロール(WPF)の作り方
- ユーザーコントロールのひな型
- 自作ユーザーコントロールにバインディングするプロパティのMode(OneWay/OneWayToSource/TwoWay)によって、値変化時の動作がどう変わるか実験
- ユーザーコントロールのプロパティの値の妥当性検証と値の矯正のやり方(と、躓いた箇所とその回避策)
oxyplot
ルーティングイベント関連
- Buttonをマウスクリック/タッチしたときのイベントの流れ(親子関係なし)
-
Buttonをマウスクリック/タッチしたときのイベントの流れ(親子関係あり)
- Gridをマウスクリック/タッチしたときのイベントの流れ(親子関係あり)
- コントロールをマウスクリック/タッチしたときのイベントの流れを今一度確認②
- 重ねたGridの上を押しながら移動(マウスでドラッグ、タッチでスライド)したときのイベントの流れ(IsManipulationEnabledをON/OFF切り替えて実験)
- Windowクラスのイベント全部、発生時にログ取ってみる
- ルーティングイベント関連参考サイト集
Prism関連
- Prism(6.3.0)のRegionで画面遷移をする
- prism.unity(6.3.0)を試したまとめ(RegisterTypeとRegisterInstanceの違いなど)
- prism.unity(6.3.0)の簡単な実装サンプル②(登録~依存性注入まで)(RegisterType使用)
- prism.unity(6.3.0)の簡単な実装サンプル①(登録~依存性注入まで)(RegisterInstance使用)
- Prism(6.3.0)のKeepAliveをfalseにすることとIsNavigationTargetでfalseを返すことの違いの実験
ListView
- ListViewのGrid表示を使う
- ListViewをグループ表示する(xamlで書く)
- ListViewをグループ表示/ソート表示する(C#コードで書く)
- ListViewの行の背景色を、データの中身によって変える
- ListViewのGrid表示のセルの中身をカスタムする
- ListViewのヘッダの中身をカスタムしたい
- ListViewの見た目(背景色とか、マウスオーバー時の色とか)をまるっと変えたい
WPF/xaml一般
- ディスプレイのON/OFFを取得する
- ウインドウメッセージハンドラをフックする
- WPFでアクションセンター内のトーストを押したときにアプリを起動する
- コンバーター(Converter)の書き方
- ノートPCのバッテリーの充電状況を取得する
- もうとにかく今すぐデバッグのためのログを出力したいときのクラス/メソッド
- 自分以外のウインドウを最前面にもってくる
- ユーザーがログイン/ログアウト、PCをシャットダウン等したときになにかしたい
- プライマリディスプレイ(1番の画面)の全体の大きさ/作業領域の大きさを取得する
-
上にかぶせたTextBlockを通り抜けて下のボタンがClickイベントを取れるようにする(IsHitTestVisible)
- Pathで描いた図形サンプル集(ひし形、角を丸くした四角、楕円など)
- 【うまく動かせず断念】.NET core 3.0のWPFでUWPコントロールを使う
- Segoe MDL2 FontFamilyを使って、いいね!っぽいボタンをつくる
- ビューモデルからビューのメソッドを呼ぶ代わりに、EventTriggerでMouseDown等のイベントを拾ってビューのメソッドを呼ぶ
- ビューモデルからビューのメソッドを呼ぶ
- Setting.settingを使用して、簡易的にアプリの設定値を保存/読出しする
- Propertiesでxamlの画面を多言語対応する&現在の言語と地域のコードを取得する
- xamlで定数を使う
- コントロールの大きさや位置を、C#コードから変化させる(RenderTransform)
- 画面の要素を回転/拡大縮小/移動する(RenderTransform)
- 画面の要素を回転/拡大縮小/移動する(RenderTransformにMatrixTransform)
- フリックやピンチインアウトでControlを移動・拡大縮小する(ManipulationDeltaイベントとMatrixTransform)
- マルチバインディングで複数プロパティを繋げて、一つのTextBlockに表示する
- スライダのツマミをスライドしたときに設定できる値をとびとびの値(0,50,100,150,・・・等)にしたい
- wpfで、×ボタンをなくしたウインドウを作る(WindowChrome)
- ListBoxのアイテムに、バインドしたコレクションのインデックスを出す
- ItemsControlで、複数のControlを重ねて表示する
- RelativeSource(バインディング)の使い方メモ
- WPF画面とやり取りするための最低限の構成
- ボタン押したときに時間がかかる処理をawaitでやるときに、ボタン連打を防止したい
- ボタン押したときに時間がかかる処理をawaitでやるときに、ボタン連打を防止したい その2
- System.Windows.Pointのリストを使って線を引く
- Grid.Clipで表示領域を制限する(好きな形に切り抜く)
- Binding復習①
{Binding Path=.}
でDataContextそのものにバインドする
- Binding復習② リストで今選択している項目を
{Binding Path=/}
で取得する
- あるView/ViewModelから、別のView/ViewModelのメソッドを呼びたいとき
■UWPパッケージング
■VisualStudio
一般
- VisualStudio2019で2017と同じ静的解析(コード分析)をしたい
- ビルドをバッチで行う
- bitsadminでnuget.exeをダウンロードする
- 「リンクとして追加」で、プロジェクト間で同じソースファイルを使う
- VisualStudio2019でリモートデバッグを行う(C#の場合)
- VisualStudio2019でリモートデバッグを行う(C++の場合)
- ソース上のコメントを英語で統一したいのに自動生成されるcsファイルが勝手に日本語コメントになるので英語に直す
- Debug/Releaseビルドで、参照するdllを変えたい
- 参照の追加について(出力フォルダに自動でコピーされるもの/されないもの)
- System.Windows.Interactivity は Microsoft.Xaml.Behaviors.Wpf に置き換え必要
- ソリューションの中にnugetしたライブラリを入れるpackageフォルダが作られる/作られない、の設定
ダンプの採取とそのデバッグ
- ProcDumpを使ったダンプファイルの作成と解析
- ProcDumpを使ったダンプファイルの作成と解析、に関する実験
- WER(WindowsErrorReporting)を使ったダンプ採取と解析
- .pdbファイルについてのメモ
- miniダンプとfullダンプの違い
■C#(.net)
UnitTest
一般
- Bluetooth v4(BLE)機器と通信する(BLE基礎メモ)
- Bluetooth v4(BLE)機器と通信する(C#で実装メモ)
- WPFでBluetooth v4(BLE)機器とペアリングする
- データをAESで暗号化してファイルに保存する
- 正規表現で、ルールに一致した文字列かどうか調べる/一致した文字列を抜き出す
- StopWatchで処理にかかる時間を測る
- ファイルに文字列/バイナリデータを読み書きする
- WriteableBitmapで点を打って、テレビの放送終了後の砂嵐をつくる(Taskで処理)
- WriteableBitmapで点を打って、テレビの放送終了後の砂嵐をつくる(タイマーで処理)
- WriteableBitmapで点を打って、テレビの放送終了後の砂嵐をつくる(UWP版)
- Disposeとは?
- デストラクタとDisposeについて
- yield returnで、遅延評価されるコレクションを作る
- 拡張メソッドの作り方
- C#で作成したDLLをC#で呼ぶ(静的/動的)
- C#でjpgのExif情報を書き込む
- C#でjpgのExif情報を読み込む
- BitmapSource派生クラスの使い方
- BitmapSourceやその派生クラスから、System.Drawing.Bitmapに変換する(BmpBitmapEncoderクラス)
- System.Drawing.BitmapをBitmapSourceに変換する
- 画像に対していろいろ行う(System.Drawing.Bitmap版)
- 画像に対していろいろ行う(System.Windows.Imaging版)
- GeoTag(GPS情報)をjpgファイルに設定/取得する
- GeoTag(GPS情報)をjpgファイルに設定/取得するときのハマったメモ
- 特殊なフォルダパスを取得する
- Linqの中でawaitさせたいとき
- .NET標準のDataContractJsonSerializerクラスを使ってjsonを読み書きする
- DataContractJsonSerializerで読み書きするjsonデータのためのクラスを簡単につくる
- プロパティを文字列で指定して値をsetし、forループ中で使用する
- 動かすアプリのプロセスがx64かx86かによって、SpecialFolderのパスが変わる
- 文字列の中のyyyyMMdd(20201016等)とtimezone(+0900等)を取り出してDateTimeに変換する
- Mutexでリソースの排他制御をする
- レジストリに好きな値を書き込む
- C#のxmlコメントからヘルプファイル(.chm)を作成する
- 現在の言語と地域のコードをC#でとってくる(ja-JP等)
- 名前付きパイプでプロセス間の双方向通信を行う
- C#でサービスを作る
- event/delegateを使って、他のclassに、自分のメソッドに欲しい値を載せて良いタイミングで実行してもらう
- 2つのIDisposableをusingしたときのコード分析の指摘CA2202の対応
- パフォーマンスモニタ(perfmon)で見るような情報をプログラムで取得する
- WMIで何かの値を取りたいときの、どこからとればいいかの調べ方
- WMIで、あるプロセスのCPU時間やメモリ使用量をとる
- WMIで、全プロセスのCPU時間やメモリ使用量をとる
- 使用中のGDIオブジェクトの数を見る
- WPFで、UWPのAPIを使ってプロセス毎のCPU時間とメモリ使用量をとる
- UWPアプリの一覧とアプリの概要を表示する
- UWPアプリの一覧とアプリの詳細を表示する
- UWPアプリをsuspendしたりresumeしたりする
- タスクマネージャー上で、親ウインドウの「バックグラウンドプロセス」として表示されるようなプロセスを作ってみる
- パスが、ローカルPCのパスか、サーバー上のパスか判定する
- 参照型を値渡ししたときの不思議な動作を調べる
- C#のスクリプトでアプリのバージョン番号を一括更新
- ファイルに、フルアクセス権限を付与する
■C#(.net) Task関連
- Taskでマルチスレッドするときの、async/awaitのある時、ない時の処理の実行順の実験2
- Taskでマルチスレッドするときの、async/awaitのある時、ない時の処理の実行順の実験
- Taskを使って並行処理(並列処理?)をする・UIを固めずに重い処理をする
- Taskの中で例外が起きた時のキャッチの仕方
- .ConfigureAwait(false)のありなしで、使うスレッド/戻り先スレッドがどう変わるか実験
■C++/C#
P/Invoke
C++/C# mutex関連
C++/C#一般
- ディスプレイのON/OFFを取得する
- 英語Windows10で、日本語Ansi文字列をC#→C++DLLに渡す
- C#をC++/CLIでラップしてC++アプリから呼ぶ
- C#をCOM参照可能にしてC++アプリから呼ぶ2
- C#をCOM参照可能にしてC++アプリから呼ぶ1
- C++で作成したDLLをC#で呼ぶ
- UnmanagedのC++x64/x86のdllをexeに組み込んで、動作時の環境により自動で切り替えて使用する
■C++
- 引用符で囲まれていないプログラムパス(Unquoted Program Path) の脆弱性確認
- ダイアログベースアプリのひな型
- Mutexでリソースの排他制御をする
- yyyyMMdd形式の文字列を日付(tm)に直す
- 正規表現で文字列から日付の部分を抜き出す
- もうとにかく今すぐデバッグのためのログを出力したいときの関数(C++)
- 文字列の型がいろいろあるが、どれをどういうときに使うかわからない
- UnitTest(C ++用Microsoft単体テストフレームワーク/vstest.Console.exe)の使い方概要
- C++で作成したDLLをC++で呼ぶ(動的)
- C++で作成したDLLをC++で呼ぶ(静的)
- 引用符で囲まれていないプログラムパス(Unquoted Program Path) の脆弱性対応確認
- 日付時刻とタイムゾーンの取得の仕方
- Windowsの電源プランの中の各種設定値を取ってくる
- 省電力設定のスライダーの現在値を取得
- C++でサービスをつくる(仮)
- C++でサービスをつくる(正式版)
- C++でマルチスレッドする
- 関数ポインタの練習
- std::functionの練習
- 現在の電源プランのGUIDを取得する
- 文字列からGUIDに直す / GUIDの比較
- TimerQueueTimerで時間を測る
■Windows
サービスをつくる
一般
- Windowsのバージョン、コードネームを確認する
- サスペンド/ハイバネーション
- たまに使うWindowsコマンド
- 休止(ハイバネーション)をできるようにする
- 「lib」という拡張子のファイルのみを検索する(フォルダは検索しない)
- SDカードをパーティション削除~フォーマットしたときのメモ
- 共有フォルダにアクセスする際のログインIDを変える
リモートデバッグ/リモートデスクトップ準備関連
- Windowsの設定
- VisualStudioのプロジェクト設定
■Windows PE
■バッチ/コマンド(Windows)
- 3秒おきに、何かのアプリのショートカットをたたき続けるバッチ
- Tailっぽくログを監視できるバッチファイル
- ファイルに書き込み
- バッチのあるフォルダのパスを取得する
- findで、取得した情報を絞る
- for と 「/f "tokens=〇"」 を使って、スペース区切りの文字列の必要列だけ取り出す
- if文を使って条件分岐
- バッチでサブルーチンを書く
- コマンドの確認入力([Y/N?]みたいなの)を自動で入力する
- 毎月の勤怠表のpw付きzip作成を自動で行う
- bitsadminでファイルをダウンロードする
- バッチをgitに上げてそれを他の人がクローンすると、なんか動きませんけどと言われる(gitにコミット時の改行の扱いについて)
- 歴史あるソースコードのバラバラの文字コードを一括変換で統一したい
- 管理者権限でバッチを起動する
■VisualStudioCode(Windows版)
■git
- gitで一度間違えてしまったユーザー名/PW(資格情報)を消す方法
- バッチをgitに上げてそれを他の人がクローンすると、なんか動きませんけどと言われる(gitにコミット時の改行の扱いについて)
- git revert(あるコミットの内容を打ち消すコミットをする)
■その他
- エクセルの表で、特定の曜日だけセルの色を自動で変えたい
- エクセルのToDo表で、statusが「完了」になった行をグレーにする
- 命名規則まとめ
- [Chrome] html/webページで、見えてる範囲だけでなく下まで全部キャプチャする
■ラズパイ+WindowsIoT(UWP/C#)
- RaspberryPi 3B+と.NET5で電子工作(準備/Lチカ)
- RaspberryPi 3B+と.NET5で電子工作(ハードウェアPWM)
- RaspberryPi3にI2Cサーマルカメラ(サーモグラフィ)をつなげて温度を画像化する
- RaspberryPi3でWindows10 IoT Coreを動かす(2019/02/13)
- VS2019で作ったUWPのslnをラズパイ3+WinIoTCoreでリモートデバッグができないときの対処
- 9軸センサ(MPU-9150)でジャイロ・加速度・磁力センサの値をとる
- Bluetooth v4(BLE)機器と通信する(BLE基礎メモ)
- Bluetooth v4(BLE)機器と通信する(C#で実装メモ)
- WPFでBluetooth v4(BLE)機器とペアリングする
{Binding Path=.}
でDataContextそのものにバインドする{Binding Path=/}
で取得するAuthor And Source
この問題について(目次(WPF/xaml/C#/C++関連メモ)), 我々は、より多くの情報をここで見つけました https://qiita.com/tera1707/items/4fda73d86eded283ec4f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .