問題タブ [rendertransform]

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.

0 投票する
1 に答える
256 参照

c# - SciChart:RenderTransformでチャートを移動する方法は?

時間の進みを表す縦線を動かそうとしています。

これは、この垂直線作成のコードです。

XAML:

この行は、コード ビハインドで次のように初期化されます (C#)。

そして、これはタイムラインを移動するために RenderTransform でテストを行ったコードです:

問題は、ラインがまったく動かないことです。私は何を間違っていますか?前もって感謝します。

0 投票する
1 に答える
2423 参照

wpf - System.Windows.Shapes.Path から ScaleTransform と RotateTransform を取得します。

XAML ノード (この場合は System.Windows.Shapes.Path) を解析するコードからRotateTransform値 (度) とScaleTransformを取得しようとしています。

RenderTransformを使用すると、Matrix Value を取得できますが、そこから angle と scaleX を取得できません。

これらの情報を取得するにはどうすればよいですか?

ありがとうございました

0 投票する
0 に答える
133 参照

c# - WPF: 「スピルオーバー」コンテンツが切り取られた後に適用される RenderTransform

このグリッドを含むコントロールがあります。

この XAML が行うことは、Width >= PaneCtrl.MAX_NO_SCALE_WIDTH のコンテナーに配置されると、ボタンが元のサイズで表示されますが、幅 < PaneCtrl.MAX_NO_SCALE_WIDTH のコンテナーに配置されると、ボタンが縮小されます。

同じ効果をコードで実現したかったのです。理由は聞かないでください。説明するには時間がかかりすぎます。

そのため、この XAML を残して、それを可能にした ViewBox とその他の要素を削除しました。

次に、サイズ変更イベント ハンドラーを追加しました。

私が見ているのは、それが同様の方法で動作することですが、コンテナの幅が非常に小さいため、元のサイズのボタンの一部が切り落とされる場合 (表示されていません)、StackPanel をスケーリングした後も表示されません。それらを表示するのに十分なスペースができました。

当然、私の質問はなぜですか?

おそらく、WPF が最初にそれらを非表示にする必要があると判断し、次に SizeChanged イベントを発生させてスケーリングできるようにし、その後それらを「再配置」しないためです。

別のイベントをフックする必要がありますか、または何かを呼び出して WPF を強制的に「再配置」する必要がありますか?

0 投票する
0 に答える
213 参照

wpf - FrameworkElement (ViewBox 内) のレンダリング サイズが変更されました

WPF で、実際のレンダリング サイズ (画面単位で測定) が変更されたことを検出する方法はありますか?

レンダリングされたビットマップを含む要素があります。これらの要素が Viewbox (または RenderTransforms を処理するその他のコントロール) 内に配置されている場合、ビットマップを画面上の実際のサイズでレンダリングして、補間が行われないようにします。

主なアイデアは、UI のいくつかの複雑な部分をビットマップに配置することです。そうしないと (保持モードで描画した場合) レンダリング フレームレートと UI の応答性が低下し、アプリケーションが使いにくくなります。副作用として、これらのコントロール内の線を、拡大縮小しても一定の太さで描画したいと思います。

1 つの方法は、すべてのレンダー パス (または特定の時間間隔) で画面上のサイズを確認し、変更された場合はビットマップを再描画することです。ただし、これを達成するための組み込みの方法があるかどうかを知りたいです。

0 投票する
2 に答える
2112 参照

wpf - WPF画像を回転させて整列させる

ソースを回転させたい Image コンポーネントがあります。

コードからのソースを設定しImageTargetます。

変換 (RenderTransformOrigin と RotateTransform) の前に、私のウィンドウは次のようになりました。

ここに画像の説明を入力

しかし、回転後:

ここに画像の説明を入力

ご覧のとおり、幅と高さが変更されました。

だから私の質問は:

  • なぜサイズが変わったのですか?
  • 回転した画像を左上隅に揃える方法 (前と同じ) ?

ありがとう

編集: サイズは変更されていません。2 つの異なるスクリーンショットを異なるサイズで撮影しました。stackoverflow は自動的にサイズを変更します。

0 投票する
0 に答える
314 参照

wpf - 設計時に子 WPF コントロールの継承された DependencyProperty を非表示または読み取り専用にする

カスタム キャンバスの子コントロールの既存の依存関係プロパティを (デザイナーのプロパティ ペインから) 非表示にしたり、メタデータを変更したり、読み取り専用にしたりすることはできますか?

.

以下は、私が達成しようとしていることの詳細です:

子の配置、サイズ変更、回転のカスタム ルールを持つ WPF Canvas のようなコントロールを作成しています。

例 #1:

Horizo​​ntalAlignmentProperty は通常のキャンバスでは意味がありませんが、その子のプロパティ ペインに表示されます。FrameworkElement からすべて継承されます。これは、私のキャンバスで作業している人々を混乱させます。なぜなら、そこにあるが機能しないためにバグがあるように見えるレイアウト プロパティがあるからです。

これらの継承されたプロパティのいくつかのデフォルト値を変更するのもいいでしょう。

.

例 #2:

子コントロールを回転するには、次のように RenderTransformProperty を設定する必要があります。

なんらかの理由で誰かが RenderTranformProperty を設定またはリセットした場合、バインディングは削除されます。回復する唯一の方法は、デザイナー ウィンドウ/タブを閉じて再度開くことです。

デザイナー自体がバインディングを削除する問題もありますが、それは別の質問のトピックです

これはすべて、キャンバス内の RenderTranform に決して触れないように、全員に (そして覚えておくように) 伝える必要があることを意味します。これは面倒なので、デザイナーのプロパティ ペインで子コントロールの RenderTransform を非表示にする方法、または変更を禁止する方法を知っておくとよいでしょう。

0 投票する
1 に答える
282 参照

c# - マウスダウン時にC#WPF RenderTransformがリセットされる

このコードに問題があります。プログラムを開始すると、定規はページの中央にあります。MouseDown が true のときに mousemove を実行すると、Rectangle (ルーラー) を自由にドラッグできます。ただし、これは最初のドラッグでのみ機能します。次回ドラッグすると、ルーラーは元の位置にジャンプして戻ります。マウスをその上に置くと、元の位置から元に戻った位置までの距離が計算され、マウスアップ イベントが発生しないため、画面から飛び出します。長方形が移動したので。基本的に、オブジェクトを画面上で何度でもドラッグできるようにしたいのですが、XStart と YStart は、クリックするたびに新しいレンダリング値を取得する必要があります。

その理由は e.GetPosition(this).X; に関係していると思います。「this」はルーラーの親であるグリッドを参照するためです。

RenderTransform をプログラムにコミットする必要がありますか? または私のロジックにエラーがありますか?

正直なところ、まったく機能しなかった方が理にかなっていますが、一度完全に機能した後、失敗することは意味がありません.

コードは次のとおりです。

0 投票する
1 に答える
4044 参照

c# - C# WPF RenderTransformOriginを変更する方法はありますが、場所は保持しますか?

RenderTransformOrigin場所を変更せずに要素を変更する方法を知りたいです。RenderTransformOriginwill を変更すると要素の位置に影響することに気付きました。

を変更する前と変更した後の要素の位置の間の値を計算するXにはどうすればよいですか?YRenderTransformOrigin

XAML

0 投票する
1 に答える
918 参照

c# - 画像 ManipulationMode キャプチャ ポインターを許可する

私のアプリでは、ユーザーは を選択してImageにドラッグし、Gridそれで遊ぶことができます。PointerEnteredのイベントを処理することでこれを行いGridます。ここでは、ユーザーが画像を選択したかどうか、およびユーザーがマウス ボタンを押しているかどうかを検出します。

ここImageで、 をグリッドに配置し、(まだ押し下げられている) ポインターを my に渡したいImageので、Imageは独自ManipulationStartedManipulationDeltaManipulationCompletedイベントを使用します。Gridこれにより、ユーザーは、要素を離してクリックする代わりに、画像のリストから に画像を 1 回のスムーズな動きでドラッグできるようになります。

senderinからポインタを解放し、PointerEnteredを使用してキャプチャしようとしましたが、が返さCapturePointerれても、うまくいかないようです。CapturePointertrue

PointerEnteredイベントに使用するコードは次のとおりです。

私の操作コードはこの回答にあります:

https://stackoverflow.com/a/32230733/1009013