問題タブ [wpf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 従来の WinForms MDI アプリケーションの新しい UI を設計する
私は、C# と WinForms で作成されたクライアント/サーバー アプリケーションを SOA/WPF/Silverlight の世界に移行する作業を行っています。大きなハードルの 1 つは、UI のデザインです。私の現在の UI は MDI 駆動であり、ユーザーは子ウィンドウに大きく依存しており、同時に多くのウィンドウを開き、それらの間を行ったり来たりしています。
MDI のない環境で UI 機能を再作成するための最良の方法は何ですか? (WPF で自分で MDI 機能を作成したくありません)。タブ?さまざまなコントロールを切り替えるリスト パネル?
.net - フォントサイズに依存しない UI: 120 DPI に切り替えるとすべてが壊れた?
だから私は、誰かが別の質問にリンクしている Windows Vista UI ガイドラインを読んでいて、120 DPI に切り替えても生き残ることができるはずだと述べていました。さて、アプリをインストールした状態で便利な VM を起動しました。大規模な UI が失敗しました!
すべてがごちゃごちゃしています。一部のコンテナは、テキストに対して十分な大きさではありません。「互いに隣り合って」配置されていたいくつかのコントロールは、すべて一緒に押しつぶされたり、離れたりします。一部のボタンの高さが十分ではありません。私のListView
列は十分な幅がありません... うーん。
まったく異なるアプローチが必要なようです。私の以前のものは、基本的に VS2008 Windows フォーム デザイナーを使用して、おそらくピクセル ベースのレイアウトを作成していました。Windows Forms に固執するなら、FlowLayoutPanel
s が役立つことはわかりますが、以前はかなり柔軟性がないと感じていました。また、コンテナー (フォーム自体など) が十分に大きくないという問題も解決しません。おそらくそれを行う方法がありますか?もしかしてそのAutoSize
物件?
これは、WPF に移行する時期が来たことを示している可能性もあります。この種のことのために特別に設計されているという印象を受けています。
基本的な問題は次のようになります。
- Windows フォームに固執する場合、ユーザーがフォントを大きく設定したり、ディスプレイを 120 DPI に設定したりしても、フォント サイズに依存しないレイアウトを実現するためのすべての秘訣は何ですか?
- ここで WPF には大きな利点がありますか? もしそうなら、切り替える価値があることを私に納得させることができますか?
- .NET スタックまたは一般に、フォント サイズに依存しないレイアウトの一般的な「ベスト プラクティス」はありますか?
wpf - 一緒に働くデザイナーと開発者
WPF と Silverlight の豊富なプレゼンテーション機能により、私のような開発者は最近、グラフィック デザイナーと緊密に連携することが多くなりました。これは、私の次のプロジェクトの場合と同様です。
これをよりスムーズに進めるためのヒントや経験を (両方の観点から) 持っている人はいますか?
たとえば、最近ソース管理についてデザイナーに話したところ、グラフィックや画像などのソース管理はできないので、時間の無駄だとすぐに言われました。だから私は答えました: わかりましたが、WPF/Silverlight の XAML ファイルはどうですか?
Scott Hanselman はポッドキャストでこのトピックについて話しましたが、彼はよりツールに焦点を当てていましたが、私はコミュニケーションの問題/側面にもっと興味があります。
wpf - DataTriggerを添付プロパティにバインドできますか?
WPFでは、DataTriggerがアタッチされたプロパティにバインドすることは可能ですか?
基本的に、特定の検証ルールが破られたときにスタイルを提供するために、アタッチされたプロパティでコンバーターを使用したいと思います。私は次のようなマークアップを使用しています:
ただし、これを実行すると、次のようになります。
System.Windows.Dataエラー:39:BindingExpressionパスエラー:'Validation'プロパティが'オブジェクト''' TextBox'(Name ='')'に見つかりません。BindingExpression:Path = Validation.Errors; DataItem ='TextBox'(Name =''); ターゲット要素は'TextBox'(Name ='');です。ターゲットプロパティは「NoTarget」(タイプ「Object」)です
DataTriggerバインディングパスを「Text」に変更しても、データバインディングエラーは発生しません(ただし、もちろん、求めている動作は提供されません)。
.net - WindowsFormsHost は目的に合っていますか (WinForms をホストする .net WPF)?
GUI 駆動型アプリケーションは、ビルド済みの WinForms ベースのコンポーネントをホストする必要があります。これらのコンポーネントは、GDI+ と DirectX を組み合わせて使用する高性能の対話型ビューを提供します。ビューはコントロール入力を処理し、カスタム グラフィカル レンダリングを表示します。コンポーネントは、サプライヤーによって WinForms ハーネスでテストされます。
商用アプリケーションで GUI に WPF を使用し、 WindowsFormsHostに依存して WinForms コンポーネントをホストすることはできますか? または、入力の遅延、慎重になるような更新の問題などの技術的な問題を経験したことがありますか?
wpf - TreeViewからListBoxWPFへのDataBindingを使用したアイテムの追加
TreeView
を使用して、から選択したアイテムをListBox
コントロールに追加したいDataBinding
(で動作する場合DataBinding
)。
TreeView
コードビハインドページからダミーデータが入力されます。
wpf - WPFアプリケーションでPDFを表示する
WPF WindowsアプリケーションでPDFファイルを表示する方法について何かアイデアはありますか?
次のコードを使用してブラウザを実行していますが、このBrowser.Navigate
メソッドは何も実行しません。
wpf - 優れたWPFピボットコントロールはありますか?
誰かが優れたwpfピボットテーブルコントロールの経験がありますか?
wpf - TextBox.TextChanged & ICommandSource
WPF UIのMV-VMパターンに従っています。コマンドを、TextBox の TextChanged イベントに、ViewModel クラスにあるコマンドに接続したいと考えています。このタスクを完了する唯一の方法は、TextBox コントロールから継承し、ICommandSource を実装することです。その後、コマンドが TextChanged イベントから起動されるように指示できます。これは、非常に単純に見えるものに対して、あまりにも多くの作業を行うように思われます。
TextChanged イベントを ViewModel クラスにフックする (TextBox をサブクラス化し、ICommandSource を実装するよりも) 簡単な方法はありますか?
wpf - 保存する前のWPFデータバインド
私のWPFアプリケーションには、いくつかのデータバインドされたTextBoxがあります。これらUpdateSourceTrigger
のバインディングのはLostFocus
です。オブジェクトは、[ファイル]メニューを使用して保存されます。私が抱えている問題は、TextBoxに新しい値を入力し、[ファイル]メニューから[保存]を選択し、メニューにアクセスしてもTextBoxからフォーカスが削除されないため、新しい値(TextBoxに表示される値)を保持できないことです。 。どうすればこれを修正できますか?ページ内のすべてのコントロールを強制的にデータバインドする方法はありますか?
@palehorse:良い点です。残念ながら、必要なタイプの検証をサポートするために、UpdateSourceTriggerとしてLostFocusを使用する必要があります。
@dmo:私はそれについて考えていました。しかし、それは比較的単純な問題に対する本当にエレガントでない解決策のように思えます。また、フォーカスを受け取るために常に表示されるページ上のコントロールが必要です。ただし、私のアプリケーションはタブ付きであるため、そのようなコントロールはすぐには現れません。
@Nidonocu:メニューを使用してもTextBoxからフォーカスが移動しなかったという事実も、私を混乱させました。しかし、それは私が見ている行動です。次の簡単な例は、私の問題を示しています。