WPF

C#

[WPF][C#]ListBox仮想化してるつもりが出来てなかった

WPF で ListBox を仮想化して実装しているつもりが出来ていなかったというお話。 ダメコード <ListBox HorizontalAlignment="Stretch" ItemsSource="{Binding Hoge}" M...
C#

[C#][WPF]DataGrid のカラムにタブキーでフォーカスしないようにしたい!

WPF で DataGrid を使って開発をしていると Tab キーによるフォーカス移動で DataGrid 内の特定の列だけフォーカスさせたい場面がある。 今回は、DataGrid の特定の列にタブストップしないようにする方法を紹介します...
C#

[C#][WPF]ComboBox の選択肢を動的に設定したら Binding Error になった

仕事で ComboBox1 の選択肢によって、ComboBox2 の内容を動的に変更するという要望があった。 ViewModel のプロパティを ComboBox の ItemsSource にバインドすれば良いかと実装。 ComboBox...
C#

【C#】【WPF】TextBoxの値を右寄せにする方法!

WPFに限らず、コントロールのたぐいは基本左寄せになっていることが多い。 今回は、WPFでコントロールおよび値を右寄せにする方法をご紹介していきます。 コントロールを右寄せにしよう! さっそく、TextBoxを右寄せにするXAMLコードです...
C#

【C#】【WPF】2重起動の防止方法をご紹介します。

もしも、作成したプログラムが2つ、3つ起動された場合、ちゃんと動作するでしょうか? 文書を編集するようなプログラムであれば、複数起動できた方が便利かも知れません。しかし、システム状態を監視するようなプログラムであれば1つだけ動作すれば十分で...
C#

【C#】【WPF】画面を最大化!全画面表示する方法

WPFでは、直接に全画面表示の設定ができるわけではありません。Windowクラスの複数のプロパティを設定することで全画面に表示することができます。 画面を最大化するためのプロパティを紹介いたします。 プロパティ プロパティ値意味Window...
C#

【C#】【WPF】DataContextとItemsSourceの違い

DataContextとItemsSourceの違い、わかりますか? MVVMでデータをバインディングするために、しっかりと違いを理解しておきましょう。 DataContextとItemsSourceの違い DataContext Data...
C#

【C#】【WPF】DataGridの前の列を固定して見やすい表にする!

縦にも横にもデータが多いDataGridだとスクロールバーを使ってスクロールさせますよね。 このような表の場合、先頭カラムのチェックボックスは固定して表示されて欲しいものです。チェックボックスではなく、行番号なんかでも同様です。 今回は、D...
C#

【C#】【WPF】DataGridで列の並び替えを禁止する方法

DataGridの列ヘッダは、デフォルトのままだとヘッダをクリックするとソート(並び替え)しちゃうんですよね。 便利なようですが、業務アプリなんかだとデータソースをバインドする前に並び替えてあったりするので画面からは並び替えて欲しくない!と...
C#

【C#】【WPF】XAMLでコントロールに枠線を引く!

WPFで画面を作り始めると最初につまずくであろう枠線の引き方! 今回は、その枠線の引き方をお伝えします。 枠線の引き方を覚えてWPFライフをEnjoyしていきましょう。 BorderThickness Label、TextBox、Combo...