問題タブ [wpf-controls]
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# - WPF で Canvas の座標系を変更する
要素の配置に Canvas を使用するマッピング アプリを作成しています。要素ごとに、プログラムで要素の緯度/経度をキャンバスの座標に変換し、Canvas.Top および Canvas.Left プロパティを設定する必要があります。
キャンバスが 360x180 の場合、キャンバスの座標を X 軸で 0 から 360 ではなく -180 から 180 に変換し、Y 軸で 0 から 180 ではなく 90 から -90 に変換できますか?
スケーリング要件:
- キャンバスは任意のサイズにすることができるため、360x180 または 5000x100 の場合でも機能するはずです。
- 緯度/経度の領域は常に (-90,-180)x(90,180) であるとは限りません。((5,-175)x(89,-174) など) どんな値でもかまいません。
- Canvas.Top/Left ベースではなく、ポイント ベースである PathGeometry などの要素が機能する必要があります。
c# - 項目/データ テンプレートを使用した WPF カスタム コントロール
WPF でカスタム ユーザー コントロールを作成する方法は知っていますが、誰かが ItemTemplate を提供できるようにするにはどうすればよいですか?
他のいくつかの WPF コントロールが混在しているユーザー コントロールがあり、そのうちの 1 つが ListBox です。コントロールのユーザーがリスト ボックスの内容を指定できるようにしたいのですが、その情報を渡す方法がわかりません。
編集:受け入れられた回答は、次の修正で機能します。
wpf - WPFユーザーコントロールのDataContextがNullです
コントロールのXAMLが通常のように親のデータコンテキストから適切なプロパティにバインドできるユーザーコントロールがあります(データコンテキストはxamlで伝播されます)。
たとえば、DataContextをObjectAに設定しているウィンドウがあります。次に、ウィンドウ内のユーザーコントロールは、dataContext内のプロパティにアクセスしようとします。
したがって、私のウィンドウのxamlとコードビハインドは両方ともnull以外のDataContextを見ることができます。
DataContextが伝播する私のコントロールは、Xamlでnull以外のDataContextを確認できますが、コードビハインドでは確認できません。
これを処理する適切な方法は何ですか?
wpf - WrapPanel と最初の行
ラップパネルに包まれた商品があります。アイテムの最初の行を少し下に移動したい。
出来ますか?
ありがとう
wpf - Windows Forms Listbox TopIndexに相当するWPF ListBoxはありますか?
基本的に私がやりたいことは、ユーザーが文字列値を入力できるようにし、入力したテキスト (または最初の LIKE 一致) に一致する項目までリスト ボックスをスクロールさせることです。
.ScrollIntoView() メソッドを使用する場合、問題は、アイテムが現在のスクロール位置よりもリスト内でさらに下にある場合、アイテムが表示領域の一番下に配置され、それが高い場合は一番上に配置されることです。現在のスクロール位置よりもリスト内。リストの一番上のアイテムにすることで、一貫性を持たせたいと思います(もちろん、アイテムの最後の「ページ」の1つであることが原因ではない場合を除きます)。
xが表示されている項目の数であるリストのさらに下にある項目を選択して、それを偽造しようとしました。これは下降時には機能しますが、上昇時には壊れます。また、リストの一番上に表示されているインデックスが現在どのインデックスであるかを判断できませんでした。
WinForms リスト ボックスには、探しているものとまったく同じ .TopIndex プロパティがありますが、WPF に相当するものを見つけることができませんでした。誰でもこれを達成する方法を知っていますか?
前もって感謝します!
c# - WPFでテンプレートウィンドウを作成するには?
だから私は、すべて同じ基本的なレイアウトを持つ多くのウィンドウを持つアプリケーションを構築しています:
- メインウィンドウ
- 上隅のロゴ
- 表題欄
- 一番下のステータス表示器
- ウィンドウ固有のコントロール用の領域。
現時点では、すべてのウィンドウでこの構造を再作成する必要があります。理想的には、このレイアウトを 1 か所で、おそらく使いやすさのためにカスタム Window サブクラスにコーディングする必要があります。始める方法、または同様の問題の以前の経験についての手がかりを誰かが持っていますか?
wpf - WPF で VirtualizingPanel を実装しようとしたときに OnItemChanged が呼び出されない
独自の VirtualWrapPanel を WPF に実装しようとしています。
私はこのように実装します:
しかし、OnItemsChanged メソッドが呼び出されることはなく、コントロールがオブジェクトを解放しません... 何か考えはありますか? ありがとうジョナサン
wpf - WPF ウィンドウが同じプロジェクトで定義されたユーザー コントロールを認識しない場合はどうすればよいですか?
同じプロジェクトで定義されたユーザー コントロール「ステータス」を使用する XAML のウィンドウ「操作」があります。ソリューションをビルドすると、OK が返されますが、ウィンドウのデザイン ビューを開くと、ビジュアル スタジオは「タイプ 'ステータス' のインスタンスを作成できませんでした。ウィンドウの「操作」の XAML は次のとおりです。
これxmlns:tci
は、Status Usercontrol がある名前空間です。このエラーが発生するとtci:Status
、青で下線が引かれます。このように UserControl を使用するには?
wpf - タブを切り取らずに WPF TabItems に水平マージンを追加するにはどうすればよいですか?
10 の左マージンを適用しようとする前の私の TabItems は次のようになります。
青いタブに 10 の左マージンを適用しようとすると、青いタブは次のように切り取られます。
これを正しく行うにはどうすればよいですか?
c# - WPFユーザーコントロールの幅をウィンドウに広げる方法は?
ユーザーコントロールを含むウィンドウがあり、ユーザーコントロールの幅をウィンドウの幅に等しくしたいと考えています。どうやってするか?
ユーザー コントロールは水平メニューであり、3 つの列を持つグリッドが含まれています。
これが、2 番目の列を基準にして、ユーザー コントロールを 100% の幅に拡大するために、ウィンドウの幅が必要な理由です。
編集:
私はグリッドを使用しています。ウィンドウのコードがあります: