問題タブ [arrangeoverride]
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.
wpf - ItemsPanel の VerticalAlignment
スタック パネルから派生したカスタム パネルを取得しました
このパネルには、パネルの垂直方向の配置に依存するレイアウト ロジックがあります
CS :
1) ItemsPanel の VerticalAligment プロパティが、子である項目コントロールから継承されることを期待しますが、デフォルトの "Stretch" Value で設定されているため、そうではないようです。
2) ItemsPanel で VerticalAlignment を明示的に設定する場合でも、値をハードコーディングしない場合、VerticalAlignment は ArrangeOverride スコープで「Stretch」に設定され、後でのみ (スヌープを使用して観察します)、「Bottom」で設定されます価値 。
XAML :
a) 機能しません: binding では、値は設定されますが、ArrangeOverride の後でのみ設定されます。
b) 動作: 値を明示的にハードコーディングします。
私の Windows XAML では、ItemsControl (PipeControl) は必要な VerticalAlignment で設定されています。
だから私の質問:
1) 値が継承されないのはなぜですか?
2) ArrangeOverride が発生する前にバインディングを介して値が設定されないのはなぜですか?
前もって感謝します 。
wpf - WPF - コンテンツに合わせたカスタム パネル サイズ
私のパネルは UniformGrid と同様のことをしようとします。ItemContainerWidth (40.0) および ItemContainerHeight (20.0) 依存プロパティに加えて、ColumnNumber プロパティがあります。
パネルのサイズを content に合わせたい。
私のメジャーオーバーライド:
私のアレンジオーバーライド:
私のパネルの ActualWidth と Height は finalSize に等しいです。パネルのサイズを MeasureOvride (constraint) から返されたものにしたいと思います。
これを強制すると、パネルが画面上で別の場所に配置されます。パネルのサイズを、WrapPanel や StackPanel などのコンテンツに合わせて調整したいだけです。
最終サイズで
テスト目的で制約サイズ (100,100) を使用
パネルの私の使用: XAML:
jquery - if/else が完了したときの jQuery
jQuery を使用して問題が発生し、その修正方法がわからない場合。簡単に言うと、次のものが得られました。
条件が「if」に一致する場合、すべてが正常に機能し、オーバーレイがコンテンツで満たされ、本文の前に追加されます。
条件は「else if」に一致しますが、オーバーレイが定義されていないというエラーが表示されます。
だから私は自分のコードが何をしているのかを見るためにいくつかの console.log() を入れました。両方の console.log アクションが発生しますが、私のブラウザー コンソールでは、最初に「second-log」が表示され、その後に「first-log」が表示されます。
私のコードは、条件が一致していても、「if / else if」が終了する前に追加しようとしています。
答えを探してみましたが、何も見つからなかったので、ここの誰かが私を助けてくれることを願っています. ありがとう!
wpf - ArrangeOverride が最終的なサイズを再計算するのはなぜですか
私にとっては、 MeasureOverrideがFrameworkElementのサイズを計算し、ArrangeOverrideが子要素を配置するだけであれば論理的です。ただし、ArrangeOverrideは子要素を配置するだけではありません。また、理解できないFrameworkElementのサイズも再度計算します。MeasureOverrideが最終的なサイズを計算できないのはなぜですか?
c - 与えられた数字のすべての組み合わせを見つけたり並べたりする
皆さんが素晴らしいことをしていることを願っています。興味深い質問があります。正確な順序で組み合わせを生成することについてです。たとえば、私は 4 つの変数 (変化する可能性があります) を持っており、これらの 4 つの変数には、たとえばこの場合 2 のように増加する制限があります。
変数の数 (この場合は 4 ) を変更でき、最大制限 (この場合は 4) も変更できます。考えられるすべての組み合わせも見つけましたが、この順序で並べることができません。誰かが答えてくれたら最高です。乾杯!
wpf - カスタム WPF キャンバスの子コントロールのデザイン時のドラッグとサイズ変更をインターセプトする
デザインタイム アドナーを WPF コントロールに追加できましたが、デザイナーに組み込まれているものを制御するにはどうすればよいですか? (つまり、誰かが標準的なデザイナーの親指/ゴムバンド/装飾品/...) を使用してコントロールをドラッグまたはサイズ変更したときに、関数が呼び出されるようにしたい
.
以下は、私が達成しようとしていることの詳細です:
私は、子の配置とサイズ設定を行うカスタム ルールを持つ WPF Canvas のようなコントロールを作成しています。(回転する必要がありますが、それは別の問題です)
これを実現する 1 つの方法は、次のように ArrangeOverride() をオーバーライドすることです。
動作しますが、デザイナーで子コントロールをドラッグまたはサイズ変更しようとすると、通常の WPF キャンバス上にあった場合の場所にジャンプします (つまり、 X = Left ではなく、 X = Left - Width / 2 as ArrangeOverride)。指示する)
デザイナーをコントロールする必要があるようです。Microsoft は、その方法についてのドキュメントも提供しています。動作しているように見えますが、ビジュアル スタジオに組み込まれている装飾(コントロールが選択されたときにコントロールの周囲に表示されるサイズ変更のつまみ) の動作を制御する方法を見つけることができず、新しいものを追加する方法のみを見つけました。確かに、いくつか追加して、標準のものに触れないように指示することはできますが、それは醜いクラッジのように見えます.
この質問の目的のために、親キャンバスを変更する必要があるメソッドのみが優先されますが、キャンバスとその子の両方のソースコードにアクセスできる (つまり、メソッドをオーバーライドできる) と仮定しても安全です。
デザイナーの拡張性に関する公式ドキュメントは、私にはやや混乱しているように見えます。私もウェブで問題を検索するのに運がありませんでした。したがって、書籍、記事、例、参照元のリンクなど、有用な手がかりがあれば大歓迎です。
c# - 特定のパネル サブクラスの ArrangeOverride の基本実装中に、UIElement の Arrange メソッドに渡された Rect を取得するにはどうすればよいでしょうか?
DockPanel サブクラスの ArrangeOverride メソッドで最初に行うことは、実際の配置を処理する基本実装を呼び出すことです。ただし、ここで「理由」に立ち入ることなく (質問とは関係がないため)、 ArrangeOverrideの基本実装が最後の子の Arrange メソッドに渡した Rect を取得する必要があります。
UIElement をクエリして、Arrange メソッドに渡された rect を確認する方法はありますか?
例えば...
私たちが見つけた唯一の方法は、ArrangeOverride を自分自身で再実装することです。そうすれば、使用されている Rect が明らかにわかるからです。ただし、どのパネル サブクラスでも機能するコードを作成しようとしています。