.NET Framework

[WPF] プログレスバーの使い方まとめ

WPF でプログレスバーを使う アプリ内で時間のかかる処理を行う場合、プログレスバーを画面に表示することでユーザーはその進捗を直感的、視覚的に把握できるようになります。 何の表示もないまま時間のかかる処理を実行すると、画面が固まっているように見えてユーザーを不安にさせてしまいます。したがって重たい処理を行う時はプログレスバーなどで進捗を示してあげましょう。 WPFには標準のコントロールとして、Pr […]

[WPF] Visiblity に bool値をバインドする方法(BooleanToVisibilityConverter)

コントロールの表示非表示を切り替える Visibility 要素の表示状態を指定するプロパティ Visibility は Enum です。そのため、単純にbool値をバインドして要素の表示を切り替えることはできません。 しかし表示非表示を切り替えるためにbool値で制御したい場面は多々あります。 基本的には異なる型でバインドするには Converter を作成するのが作法です。ほとんどの場合自作す […]

[WPF] 初期フォーカスをXAML上で設定する方法

WPFで初期フォーカスを設定したい WPFの画面を作成しているときに、初期フォーカスを特定のコントロールに設定したいことがありました。その方法を調べたのでメモします。 focus() Window の Loaded イベントでフォーカスしたいコントロールの focus() を呼ぶ方法があります。 private void Window_Loaded(object sender, RoutedEve […]

[WPF] Windowを閉じずに隠しておくための実装

WPF の画面表示が遅いので何とかしたい WPFではリッチな画面を作れる反面、画面にコントロールが多い場合はそれなりのコストがかかってしまいます。 頻繁に画面を閉じたり開いたりする場合、開きっぱなしにしたほうが操作の体感速度が改善する場合があります。 ということでその方法をまとめます。 SubWindow を一度開いたら閉じずに隠したままにします。 再利用する画面をシングルトンにして、閉じずに隠す […]

[WPF, xaml] 要素のサイズに合わせてWindowの大きさを自動的にリサイズ調整する方法

WPFでCSSみたいに勝手にサイズを調整てほしい WPFでとあるアプリケーションを開発しているときに、動的にコンテンツを生成する場面がありました。これ自体は問題ないのですが、画面(Window)のサイズ(Width, Heigh)も含まれる要素・コンテンツのサイズに応じて動的にリサイズしたかったのでその方法を調べました。 以下その方法をメモします。 SizeToContent プロパティ Wind […]