No more Death March

あるSEのチラシの裏 C# WPF

WPF ボタンのカスタマイズ方法概略

はじめに 入力に使うコントロールは結構癖があり忘れやすいのでメモしておきます。仕事で使う場合だと色を変えたいとかアイコン埋め込みたいとか、 色々あるかと思いますがあくまで雰囲気重視の記述です。 ボタン側のXAML ボタンのXAML、Buttonクラスを継承…

WPF 描画の練習 マル印

前回の記事に引き続き、WPFの描画周りを練習前回の記事はこちら↓ nomoredeathmarch.hatenablog.com前回はバツ印を作ったので今回はマル印を作ってみました。 まだ簡単・・・ イメージ XAML

WPF 描画の練習 バツ印

描画処理への理解を深めるため、簡単なマークの作成に挑戦してみました。 大したことしてないのに思った以上に「それっぽく」見えるので面白いです。 イメージ XAML

WPF PathFigureによる描画

直線 - LineSegment 円弧 - ArcSegment 2次ペジェ曲線 - QuadraticBezierSegment 3次ペジェ曲線 - BezierSegment 直線 - LineSegment 指定座標までの直線を引く。

WPFのグラデーション

一つ前の記事と同じようにグラデーションについてもメモ

WPFの描画関係メモ

描画関係、仕事では滅多に使わないのだけど、 その分毎回忘れてしまうのでこの記事でメモ とにかく線を引いてみる 複数の線を引く 円・楕円 四角形 塗りつぶし 交差部分の塗りつぶし 交差部分の塗りつぶし(CombinedGeometry) とにかく線を引いてみる Line…

C# WPF PreviewTextInputで入力後のテキストを取得する。

とりあえずコード private static void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e) { var textBox = sender as TextBox; if (textBox == null) return; var changed = textBox.Text .Remove(textBox.SelectionStart, textBox.Sel…

C# 正規表現の基礎をメモ

C#

Regexクラス 使用例 Regexクラス ・C#で正規表現を使う場合はRegexを使う。 ・コンストラクタでパターン文字列を指定する。 ・IsMatch(String)メソッド(戻り値bool)で正規表現と一致するかどうかを取得する。Regex クラス (System.Text.RegularExpressions…

WPF ViewModelにINotifyPropertyChangedを実装しないとメモリリークするらしい

重要な話なのでメモ【WPF】ViewModelがINotifyPropertyChangedを実装していないとメモリリークする件 - aridai.NET

WPF 主要コントロールのMSDNリンク

UIElement クラス (System.Windows) FrameworkElement クラス (System.Windows) TextBox クラス (System.Windows.Controls) Label クラス (System.Windows.Controls) TextBlock クラス (System.Windows.Controls) UserControl クラス (System.Windows.Contro…

プログラミングで見かける英単語メモ

Application アプリケーション Run 走る Execute 実行 Commit コミット RollBack ロールバック Save 保存 Load 読み込み Store 保存 Restore 復元 Register 登録 Repository 貯蔵庫 Cancel 取り消し Repeat 繰り返し Receive 受け取る Throw 投げる Ignore …

.Net Frameworkのソースコード

下記URLにて公開されており、ダウンロードすることが出来ます。http://referencesource.microsoft.com/中身を理解する必要はないけど.Net Frameworkで開発してる全ての人は一度でいいから目を通してみるべきだと思います。 カプセル化という概念の重要性…

c# enumをDictionaryのキーにした場合のパフォーマンス

3年以上の前の記事ですが、参考にさせていただき調べてみました。proprogrammer.hatenadiary.jp要約するとintへのキャストは高速だけどGetHashCodeの実装は低速とのこと。 あまり厳密なテストをしたわけではないですが、.Net Framework4.6の環境で試してみ…

アダプターパターン

Gofデザインパターンの復習でアダプターパターンについて書きます。 書籍等で見ると最初は混乱したのですが、覚えるとデコレーターパターン同様、シンプルなパターンだと思います。 アダプターパターンとは アダプターパターンの構成 適合させたい型 アダプ…

デコレーターパターン

Gofデザインパターンの一つ、デコレーターパターンについて復習します。 デコレーターパターンは比較的簡単で、デザインパターンの中で一番最初に覚えたパターンでした。 再利用しやすいコードを書く上で今でも欠かせないパターンだと思います。 デコレータ…

プロジェクトの分離について

色んな書籍をみても、c#のプロジェクトやjavaのパッケージの分け方について深く言及しているものがあまり無い。 最近思うのは、プロジェクトやパッケージの分離方法の勘所を抑えていれば、自ずとメンテナンスが容易なシステムになるのではないかということ。…

C# 自作ライブラリの検討メモ

デザインパターン、オブジェクト指向エクササイズの教材として自作ライブラリを作ろうと検討中。名前空間についてメモ Nmdm ⇒最上位の名前空間、ブログ名からNmdm.Pair ⇒ジェネリックインターフェースで二つのインスタンスのペアを表現Nmdm.Collection ⇒IEnu…

c# リフレクションの使いどころを考える

ソフト全体で使いたいインターフェースがある時、 インターフェースとその実装を同じプロジェクトに入れると実装部分をメンテナンスする度に大規模なビルドが必要になる。そもそも抽象(インターフェース)に依存して処理を標準化するのに実装を直す度にビル…

ステートソーシングな設計をイベントソーシングな設計に

ステートソーシングな設計の「商品テーブル」をイベントソーシングな設計に置き換える時のイメージをメモ「商品テーブル」 ・ID ・コード ・名称 ・登録担当者ID ・登録日時 ・更新担当者ID ・更新日時 ・削除担当者ID ・削除日時手順1)ドメインに…

C# プロパティとメソッドの違い

プロパティとメソッドとの違いについておさらいします。MSDNに掲載されている説明は以下の通り。プロパティとメソッドの選択 一般的に、メソッドは操作を表し、プロパティはデータを表します。 例えば「人」オブジェクトがあれば、 「名前」や「性別」は…

書籍「現場で役立つシステム設計の原則」を読んでみて。

7月5日に発売されたのでさっそく購入しました。現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法作者: 増田亨出版社/メーカー: 技術評論社発売日: 2017/07/05メディア: Kindle版この商品を含むブログを見るこの本の著者…

文字列からプリンタを取得

using System; using System.Printing; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var queueByFullName = new PrintQueue(new LocalPrintServer(), LocalPrintServer.GetDefaultPrintQueue().FullName); Console.…

インストールされているプリンターの一覧を取得する。

using System; using System.Printing; namespace LocalPrintersName { class Program { static void Main(string[] args) { foreach(var queue in new LocalPrintServer().GetPrintQueues()) { Console.WriteLine(queue.FullName); } Console.ReadLine(); }…

既定のプリンター名を取得する。

using System; using System.Printing; namespace DefaultPrinterName { class Program { static void Main(string[] args) { Console.WriteLine("既定のプリンタは{0}です。", LocalPrintServer.GetDefaultPrintQueue().FullName); Console.ReadKey(); } } …

WPFで帳票 参考リンク

ネットで色々検索してみるとWPFでも帳票印刷が出来るらしい。 後で参考に出来そうなリンクをメモ以下参考: WPFでの印刷の基本(1) 単一ページの印刷 - Qiita WPFでの印刷の基本(2) 複数ページの印刷 - Qiita WPFを帳票フレームワークとして使う - @kotyの…

C# App.Configでエラー

DbProviderFactoriesの仕組みを勉強してて、DbProviderFactories.GetFactoryClasses()でConfigurationErrorExceptionが発生。App.Configをよ~く見てみるとセクションの後のスペースが交っていた。 これを消してやると解消。1時間くらい悩みました・・・

C# 月初日

C#

public DateTime MonthFirstDate(DateTime value) { return new DateTime(value.Year, value.Month, 1); } DateTimeのコンストラクタの日にち部分に1を渡す。

C# 月末日

C#

public DateTime ToMonthLastDate(DateTime value) { return new DateTime(value.Year, value.Month, DateTime.DaysInMonth(value.Year, value.Month)); } 年と月はそのまま、日にちだけDateTimeクラスのDaysInMonthメソッドに年と月を渡してやる。 VB6の時…

インターフェースを考える(14)考えを整理(出来ていない)

C#実践開発手法のシングルメソッドインターフェースで色々書いてきたけども、 途中途中浮かんだ考えをだぁーっと箇条書きにしてみる。C#実践開発手法 デザインパターンとSOLID原則によるアジャイルなコーディング作者: ゲイリーマクリーンホール出版社/メ…

インターフェースを考える(13)コレクションとインターフェース

IActionやISpecificationなど、単一の要素に対するインターフェースでしたが、 実際にアプリケーションを組むとなると必ずコレクションに対する操作が必要になると思います。今回は拡張メソッドを使って、都度コーディングをしなくてもこれらインターフェー…