i++

プログラム系のメモ書きなど

2015-08-01から1ヶ月間の記事一覧

WPF/XAML : TextBox に入力ヒントを表示する

WPF界隈では hint ではなく watermark とも呼ぶらしいですね。Android の方では watermark という呼び方を聞いたことはないのですが。 参考にしたサイト(下記記載)には AttachedProperty を使った方法や Trigger を使った方法も掲載されており、「TextBox …

プログラマの英語 : state と status の違い・使い分け

どちらも「状態」を意味し、普通の英文として使う場合でも、コード中の変数名や enum 定義に使用する場合でも、往々にして交換可能なのですが、全く同じ意味合いを持っているという訳ではありません。 そのニュアンスの違いと使い分け方について考えてみます…

プログラマの英語 : enbug の正しい言い換え方と語源の推測

enbug(エンバグ)とは「ある変更が(他の箇所で)別のバグを生む」というような意味で使われる用語ですが、これは和製英語であって世界的に標準的な英単語としては存在しません。 例えば英辞郎や Weblio といった日本の英語辞書サイトではエントリーが存在…

WPF/XAML : プロジェクト作成時のデフォルトの MainWindow.xaml などを変更する

AssemblyInfo.cs のデフォルト編集の内容とほぼ同じですが、以下のパスにあるプロジェクトのデフォルトとして使われるファイルを編集することで MainWindow.xaml やその他を変更できます。 ; VS2013 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Co…

WPF/XAML : TabControl 中の TabItem の高さを自動で揃える

TabControl に Grid.IsSharedSizeScope="True" を設定し、各 TabItem 内のコンテンツを同じグループの Grid に置くことで高さを共有します。 サンプル 2つめの TabItem の中身の高さを 1つめより低く設定していますが、Grid.IsSharedSizeScope を使うことで …

コマンドプロンプト : ネットワークインターフェースの設定(IPアドレス)を変更する

固定 IP を設定するには netsh interface ip set address "インターフェース名" static 192.168.0.1 255.255.255.0 DHCP にするには netsh interface ip set address "インターフェース名" static 192.168.0.1 255.255.255.0 インターフェース名を見るには n…

Unreal Engine : スタティックメッシュエディタのカメラ速度を変更する

右マウスボタンを押しながらマウスホイールを上に回転させると速度アップ、下に回転させると速度ダウンします。現在のカメラ速度の表示はなさそうです。 また、一度スタティックメッシュエディタを閉じてしまうと設定は解除されてしまいます。

C# : 文字列がアルファベットと数字(+ α)のみで構成されているかを調べる

正規表現クラス(System.Text.RegularExpressions.Regex)を使い、許可する文字以外のマッチがあるかどうかを判定し、それを反転します。 using System.Text.RegularExpressions; // 数字とアルファベットのみ isAlphaNumericOnly = !Regex.IsMatch(name, @"…

WPF/XAML : DataGrid にボタンの列を追加する

DataGrid のセル中に自分で定義した UI 要素を入れられる DataGridTemplateColumn という汎用的な列を定義し、その DataGridTemplateColumn.CellTemplate -> DataTemplate の中に Button を指定します。 サンプル DataGrid に DataGridTemplateColumn を置き…

Visual Studio : ビルドイベントで同じソリューション内の他プロジェクトの成果物をコピーする

プロジェクトのプロパティから「ビルド イベント」のパネルを開き、コマンドラインで xcopy を使います。 ビルド先のフォルダ名を取得するためのマクロや xcopy については以下のリンク先が参考になります。 ビルドのコマンドとプロパティのマクロ xcopy フ…

Android : Warning:Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (22.2.1) and test app (22.2.0) differ.

Espresso が 22.2.0 を必要としていてそれが conflict を招いているので gradle で ResolutionStrategy を設定して解消します。 Warning:Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (22.2.1) and test…

TypeScript : Visual Studio のプロジェクトでコンパイルオプションを指定する

Visual Studio で TypeScript のコンパイルオプションを指定するには、プロジェクトのプロパティの TypeScript パネルから設定しますが、そこにないオプションについては(プロジェクト名).csproj を直に編集します。 例えば Decorator を使用するには、--emi…

WPF/XAML : Behavior の PastingHandler で MessageBox を表示する

ポイント PastingHandler をつけるには DataObject.AddPastingHandler を使用する 外すときは RemovePastingHandler PastingHandler として設定した関数で直接 MessageBox.Show を呼ぶと例外が発生するので Dispatcher.InvokeAsync を使う Aync じゃない方の…

WPF/XAML : TextBox の入力内容を検証して不正入力の場合にエラーを表示する

ポイント TextBox.Text に Binding.ValidationRules で Validation のルールを設定する TextBox.ErrorTemplate で不正入力時の表示をカスタマイズできる デフォルトではテキストボックスに赤枠表示 AdornedElementPlaceholder の中に元のテキストボックスが…

WPF/XAML : DataGrid の各セルを VerticalAlignment=Center にする(あるいは余白を設定する)

デフォルトでは上方向に寄ってしまいます。とくに CheckBox(DataGridCheckBoxColumn)の列で目立ちます。 これを縦方向中央揃えにするには VerticalAlignment=Center にするには、以下のようにスタイルを設定します。 サンプルコード <DataGrid x:Name="VerticalCenteredCell_DataGrid"> <DataGrid.Resources> <Style TargetType="DataGridCell"> <Setter Property="Template"> <Setter.Value> </setter.value></setter></datagrid.resources></datagrid>

C# : AssemblyInfo.cs のデフォルト値を設定する

デフォルト値は Visual Studio のインストール先のフォルダに、プロジェクトのテンプレートとして設定されているので、それを直接書き換える事で新規プロジェクト作成時のデフォルト値を設定できます。 AssemblyCompany や AssemblyCopyright には PC のメー…