[XAML] ループして繰り返し出力する方法
XAMLでループ XAMLを描いているときに任意のコントロールをループして出力したくなったのでメモ。 ViewModel に MyList というリスト型のプロパティを持たせて、これをループして画面に列挙する例を考えます。 まず、コードビハインドに ViewModel を DataContext にバインディングしておきます。 public partial class MainWindow : W […]
Web備忘録 プログラミングを中心に技術的な事柄を忘れないように書き残します。
XAMLでループ XAMLを描いているときに任意のコントロールをループして出力したくなったのでメモ。 ViewModel に MyList というリスト型のプロパティを持たせて、これをループして画面に列挙する例を考えます。 まず、コードビハインドに ViewModel を DataContext にバインディングしておきます。 public partial class MainWindow : W […]
Prism でダイアログ表示したい Prism が提供するダイアログ表示のための機能 DialogService の使い方をまとめます。 画面遷移関連をを NavigationManager で行うように、ダイアログ関連は DialogService で行うことが可能です。 DialogServiceでダイアログ表示するサンプル Dialog Service | Prism ドキュメントを見ると詳 […]
Prism で RegionManager を使った画面遷移方法 Navigation Using the Prism Library for WPF | Prism WPF でよく使われるフレームワーク Prism の提供する RegionManager を使った画面遷移方法の使い方をまとめます。 今回は Prism のテンプレートを使用して作成したプロジェクトをサンプルとして用います。 Reg […]
リスト(コレクション)データをバインドして変更通知したい WPF でリスト(コレクション)データをバインドして、変更通知を行う方法をまとめます。特にバインドされたデータの値を書き換える場合や、バインドされたデータのソートは、単純に ObservableCollection を使用するだけではうまくいきません。 この記事では例として以下のような操作について実装方法をまとめます。 データの追加 データ […]
WPF バインドしている値を強制的に反映したい WPF ではビューに値をバインドできます。 バインドしている値の変更通知を行うとビューにその値が反映されますし、ビューの入力値が更新されれば何かしらのタイミングでバインドしている値が更新されます。 ただ場合によっては任意のタイミングで明示的に、強制的にコード上からバインドを更新したい場合があります。そのような場合にはバインド評価更新用のメソッドを実行 […]
WPF でプログレスバーを使う アプリ内で時間のかかる処理を行う場合、プログレスバーを画面に表示することでユーザーはその進捗を直感的、視覚的に把握できるようになります。 何の表示もないまま時間のかかる処理を実行すると、画面が固まっているように見えてユーザーを不安にさせてしまいます。したがって重たい処理を行う時はプログレスバーなどで進捗を示してあげましょう。 WPFには標準のコントロールとして、Pr […]
コントロールの表示非表示を切り替える Visibility 要素の表示状態を指定するプロパティ Visibility は Enum です。そのため、単純にbool値をバインドして要素の表示を切り替えることはできません。 しかし表示非表示を切り替えるためにbool値で制御したい場面は多々あります。 基本的には異なる型でバインドするには Converter を作成するのが作法です。ほとんどの場合自作す […]
WPFで初期フォーカスを設定したい WPFの画面を作成しているときに、初期フォーカスを特定のコントロールに設定したいことがありました。その方法を調べたのでメモします。 focus() Window の Loaded イベントでフォーカスしたいコントロールの focus() を呼ぶ方法があります。 private void Window_Loaded(object sender, RoutedEve […]
WPF の画面表示が遅いので何とかしたい WPFではリッチな画面を作れる反面、画面にコントロールが多い場合はそれなりのコストがかかってしまいます。 頻繁に画面を閉じたり開いたりする場合、開きっぱなしにしたほうが操作の体感速度が改善する場合があります。 ということでその方法をまとめます。 SubWindow を一度開いたら閉じずに隠したままにします。 再利用する画面をシングルトンにして、閉じずに隠す […]
WPFでCSSみたいに勝手にサイズを調整てほしい WPFでとあるアプリケーションを開発しているときに、動的にコンテンツを生成する場面がありました。これ自体は問題ないのですが、画面(Window)のサイズ(Width, Heigh)も含まれる要素・コンテンツのサイズに応じて動的にリサイズしたかったのでその方法を調べました。 以下その方法をメモします。 SizeToContent プロパティ Wind […]