WPF 超入門 〜「WindowsForms 開発者のための WPF 早わかりQ&A」
WPF ですが、Windows Forms から移行した人は、私も含め要領掴めない人が多いようです。特に VB ユーザーはかなり苦戦してるんじゃないでしょうか?原因は、Windows Forms のプログラミングスタイルを引きずってるせいだと思います。
(#2010/01/17 追記 : 最近になって、あまりに Forms を無視した設計にし過ぎたせいだと思えるようになってきた・・・)
とはいえ、いったん頭をリセットしてといっても、長年身体に染み込んだスタイルはそうそう変えられるものじゃありません。また Forms で簡単にできたことが、WPF では容易にできなくなった機能も一部確かにかなりあります。そこで Forms 開発者のために Q&A 形式で少し纏めてみました。以下、参考にしてください。
なお回答は、詳しい解説を省き簡潔なものにしております。詳しくは、回答を基に検索して調べてみてください。
目次
- 全般
- Q046. 文字列に改行を設けるには?
- Q060. WPF で Google Map API を使うには?
- Q069. 文字列として中括弧"{}"を扱うには?
- Q089. WPF でスペルチェックをするには?
- Q090. WPF でタスクトレイアイコンを表示するには?
- Q103. WPF で未処理例外に対応するには?
- Q115. ソリューション全体でアイコンを統一管理したい
- Q120. App.xamlで定義したリソースを動的に変更したい
- Q121. App.xamlで定義したリソースを動的に変更したい(バインディング編)
- Q122. App.xamlで定義したリソースを動的に変更したい(バインディング編・その弐)
- Window
- Q001. Window.DialogResult プロパティって Form.DialogResult と違うのですか?
- Q002. Window を Normal で起動してから最大化しましたが、Width と Height の値が Normal の時と変わっていません!これって一体・・・
- Q047. ショートカットキーでイベントもしくはコマンドを実行するにはどうすればいいのですか?
- Q048. Window の最小化・最大化ボタンを無効にするには?
- Q067. 現在アクティブな Window のインスタンスを取得するには?
- Q068. View の Window ハンドルを取得するには?
- Q098. 最大化ボタンを有効にしながら、ユーザーによるサイズ変更を不可にするには?
- コンテナ
- コントロール全般
- Q008. コントロールに Anchor プロパティがないよっ!!><
- Q009. Control.BackColor プロパティはどこ行った?!
- Q010. コントロールの DesignMode プロパティはどこ行きましたか?
- Q011. フォントを縦書きにするにはどうすればいいのですか?
- Q012. 背景のイメージはどこで指定するの?
- Q013. Border の BorderBrush を Red で設定したのですが、Border が表示されません。(;_;)
- Q040. Application.xaml に定義したリソースを動的に参照したい場合、どうすればいいのですか?
- Q072. WPF にタイマーコントロールはないの?
- Q092. Binding.RelativeSource の使い方がよくわからない
- Q125. コントロールの Visiblity プロパティに bool 値をバインドしたい
- コントロール
- Button
- Q017. 丸い Button を作るには?
- Q018. Button.DialogResult プロパティがなくなってるしー!!
- Q019. CheckBox の CheckedChanged イベントが見当たらないです。
- Q020. CheckBox から Appearance プロパティがなくなってんだけどー!><
- Q021. CheckBox を読み取り専用にする方法はありますか?
- Q022. ToggleButton のチェック時に、Background を変えても表示に反映されません。Background のチェック時に Background を変える方法はありますか。
- Q023. RadioButton から Appearance プロパティがなくなってます!また ToggleButton ではグルーピングできません!! ><
- TextBox
- ListBox
- ComboBox
- Q029. ComboBox に Datasource は指定できないのですか?
- Q030. ComboBox の DropDownStyle はどこで設定するんですか?
- Q031. ComboBox の編集時に背景色を変えたいのですが方法が判りません。
- Q038. ComboBox.IsReadOnly プロパティ を True にしても編集できてしまうのですが・・・
- Q043. ComboBox.IsEditable プロパティを True にすると、IsTabStop プロパティを False にしてもタブストップが有効のままなんですが。(-ω-
- Q099. コンボボックスの項目に整数リテラル値を設定するには?
- DatePicker
- DataGrid
- Q035. DataGrid の列ヘッダーの背景色を変えたいのですが、方法が判りません。
- Q036. DataGrid のセルデータの位置を上寄せから中央に変えたいのですが・・・
- Q037. DataGrid のセルデータの水平位置を中央に変えたいのですが・・・
- Q039. DataGrid で選択行をドラッグドロップで移動するにはどうすればいいのですか?
- Q041. DataGrid のセルの値を中央や右寄せで表示したいのですが、どうすればいいですか?
- Q042. DataGrid のセルの値を書式設定したいのですが・・・
- Q049. DataGrid 行の高さをセル内容に応じて自動的に変えるには?
- Q086. DataGrid/XamDataGrid でスクロールバーをダブルクリックすると、MouseDoubleClickイベントが発生しちゃう!><
- Q095. DataGrid でソートを制御にするには?
- Q096. DataGrid でセルの値を変えると背景色が変わるようにするには?
- WebBrwser
- その他
- Button
- GrapeCity
- Infragistics
- 全般
- XamComboEditor
- XamDockManager
- Q126. XamDockManager のレイアウトを保存・読み込み・初期化したい
- XamDataGrid
- Q050. XamDataGrid でサンプルデータを簡単に表示するには?
- Q051. XamDataGrid で一行おきに行を強調表示するには?
- Q052. XamDataGrid で一行おきの強調表示のブラシを変更するには?
- Q053. XamDataGrid でマウスオーバー時のブラシを無効にするには?
- Q054. XamDataGrid で掛線を指定するには?
- Q055. XamDataGrid で「エリアごとのグループ化」機能を無効にするには?
- Q056. XamDataGrid で列を固定表示するには?
- Q057. XamDataGrid でユーザーが列の表示状態を任意に設定できるようにするには?
- Q058. XamDataGrid でセルに収まらない値をツールチップで表示するには?
- Q061. XamDataGrid で別の列の値をツールチップで表示するには??
- Q062. XamDataGrid でセルにボタンを表示するには?
- Q070. XamDataGrid で列を非表示にするには?
- Q073. XamDataGrid でセルの表示を複数行にするには
- Q074. XamDataGrid でセル編集と同時にレコードを確定するには?
- Q075. XamDataGrid でセルのIMEを設定するには?
- Q076. XamDataGrid で集計結果のスタイルを設定するには?
- Q079. XamDataGrid のフィルタリングを有効にするには?
- Q080. XamDataGrid のフィルタリング条件を制限するには?
- Q081. XamDataGrid でフィルタリングの初期条件を指定するには?
- Q082. XamDataGrid でフィルタリングの初期値を設定するには?
- Q083. XamDataGrid でフィルタリングを初期化するには?
- Q084. XamDataGrid で並び替えを初期化するには?
- Q085. XamDataGrid で特定データの前景色を変更するには?
- Q087. XamDataGrid にテーマを設定するには?
- Q088. テーマを適用した XamDataGrid のセルに境界線を引くには?
- Q091. XamDataGrid で特定データの前景色を変更後、マウスホバー行や選択セルに設定した前景色を反映するには?
- Q093. XamDataGrid で 「フィールドの選択」 のグループ名を変更するには?
- Q094. XamDataGrid で 「フィールドの選択」 のタイトルを変更するには?
- Q097. XamDataGrid でフィルタリングされたレコードのコレクションを取得するには?
- Q106. XamDataGrid の表示内容をそのまま印刷したい
- Q107. XamDataGrid の内容を印刷時にプレビューを表示したい
- Q108. XamDataGrid の印刷時に余白や印刷方向を設定したい
- Q109. XamDataGrid のレポートフッターに印刷日時やページ数を表示したい
- Q110. XamDataGrid でユーザーが設定したレイアウトを保存したい
- Q111. XamDataGrid でネストされたレコードのフィールドを設定する
- Q112. XamDataGrid でネストされたレコードのヘッダをデザインする
- Q123. XamDataGrid で表示されている内容をそのまま EXCEL に出力したい
- Q124. XamDataGrid で絞り込み表示されてるレコードのみ抽出する
- Q124. XamDataGrid で絞り込み表示されてるレコードのみ抽出する(其の弐)