サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
tawamuredays.blog.fc2.com
DataGridには、行ヘッダ(RowHeader)というものがあり、デフォルトでは何も表示されない。 仕事で行ったのが、「行番号を表示する」というもの。 表示できたら、現在見ているデータが上から何番目なのかがよくわかったりする。 全部で何件あるかもわかるので、便利といえば、便利。 こういう時のstackoverflow。 Simple way to display row numbers on WPF DataGrid おおう。流石。添付プロパティで実現できるんだ。ほぼそのままを実装させていただきました(-人-)。 この実装の問題点は、「行の増減に対処できていない」事。表示専用で、一覧表示後にデータの増減がないなら、これで十分なんだけどね。 増減(追加あるいは削除)に対応しようと思った時の実装メモ ・LoadingRowイベントだけでなく、UnloadingRowイベントもフックして実装
その是非はともかくとして、そろそろマイナンバーが使われ始める。今頃の恒例行事となっている年末調整にも必要らしい。 マイナンバー 社会保障・税番号制度 個人だけだと思ったら、法人にも番号が振られている。 法人番号公表サイト ソフト屋の端くれとして、その番号をチェックするロジックがきになる訳で。 でももう色々なサイトに掲載されている。 行政手続における特定の個人を識別するための番号の利用等に関する法律施行令 法人番号の指定等に関する省令 国が書くと、わかりづらいので、個人で掲載している所も探す。 マイナンバーのチェックデジットを計算する マイナンバー法における法人番号の検査用数 RubyとJavascriptで書かれている。まあ自分用にC#で起こしてみる。 using System; using System.Linq; using System.Text.RegularExpressions
DataGrid基本的な設定からメモしておく。 <Window x:Class="TawamureDays.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:local="clr-namespace:TawamureDays" Title="MainWindow" Height="213" Width="385" local:WindowBehavior.UseMessageCommand="True" local:Framewo
あるクラス(X)の某プロパティ(P)が欲しい時、特に意識する事なくgetアクセサを使う。 var instanceOfX = new X(); var val = instanceOfX.P; まあ、これはC#のコード上で取得したいプロパティがわかっているからできる事なんだけど。じゃあ、外部から与えられたプロパティ名(文字列)の値を取得したい時とかどうするだろう? →これはリフレクションを使うことになる。メソッド化してみた。 using System; namespace TawamureDays { public static class Utils { /// <summary> /// 指定のオブジェクトから、指定されたプロパティ(文字列)の値を取得します。 /// </summary> /// <param name="obj">オブジェクト</param> /// <param
Commandクラス=ICommandインターフェースを実装していること。 MVVMパターンでいうCommandクラスは、RelayCommandとかDelegateCommandとという名前で実装されるクラスが有名。 お?MSは、どうやら「RelayCommand」の方にするらしい。 RelayCommand クラス ↑のクラスは、VS2012以降から標準装備になる(?)ので、今は当然ない。 というわけで、他の記事にもあるように、Command用クラスを実装してみる。 using System; using System.Windows.Input; namespace TawamureDays { /// <summary> /// Command用クラス /// </summary> public sealed class RelayCommand : ICommand { #reg
今更ながら迷ってしまった実装、「const」と「static readonly」。 いずれも定数定義に使われる。定数定義の目的は、マジックナンバーや、文字列定数入力ミスの削減にある。どっちを使うか迷うんだ。大して違わない?と思うから。 調べてみると、結構違う事がわかった。 readonlyとconstの使い分けより、両者の違いを箇条書きで。 ・constはコンパイル時に値がそのまま埋め込まれる。 →実行速度は速くなる。でも、サイズは増える。 →switch文や、デフォルト引数に使える。 →アセンブリ(*.dll)を入れ替えても、参照するアセンブリ側に変更した値は使用されない。 ・static readonlyは、アセンブリロード時に適用される。 →変数は共有されるので、constに比べサイズは小さくなる。 →switch文や、デフォルト引数には使えない。 →アセンブリ(*.dll)を入れ替
WPFでは、とかくパフォーマンスを気にする必要がある。当然、メモリリークもだ。WPFだから大丈夫なんてのは、通用しない。WPFだからこそ起こりうる事と思いながら作っている。Windows.Formsとは違い、コントロールがIDisposaleを実装していないから終了処理をしなくて良いわけじゃないし。 深刻なメモリリークに悩まされるWPF(2009年10月20日) A hotfix is available that resolves some memory leak issues for WPF in the .NET Framework 4 Avoiding a WPF memory leak with DataBinding (Black Magic)(2008年5月7日) 視覚的なエフェクトに対する汎用性は、Windows.Formsの比ではないし。 パフォーマンスを調査する上で使え
DataBindingのUpdateSourceTriggerには、 LostFocus(フォーカスが外れたら) PropertyChanged(プロパティ値が変わったら) Explicit(明示的にメソッドを呼ばないと) Default(各プロパティの既定値) がある。けれども、日本で比較的良く使われる、Enterキー押下でっていうのがない。PropertyChangedは、反応が良すぎる。入力してる最中でもどんどん反応する。Enterキー押下のみに反応しないものか?と調べた結果、良い記事を見つけた。 WPF TextBox DataBind on EnterKey press なんとそのまんまだった。 using System; using System.Windows; using System.Windows.Data; using System.Windows.Input; na
このページを最初にブックマークしてみませんか?
『tawamuredays.blog.fc2.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く