問題タブ [wpf-positioning]
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 - 親キャンバスに UserControl を配置する方法
この UserControl を Canvas.Left="168", Canvas.Top="213" に配置したいと思います。
ただし、コントロールは隅に表示されます。私は何をすべきか?
このクラスの使用ポイントに値を配置すると、値は NaN として返されます。その場合、正しい左と上の値を取得するにはどうすればよいですか?
使用法:
ユーザーコントロール:
wpf - wpfでウィンドウ内の要素の絶対位置を取得します
ダブルクリックしたときのウィンドウ/ルート要素に対する要素の絶対位置を取得したいと思います。親内の要素の相対位置は、私が到達できるように見えるすべてであり、到達しようとしているのは、ウィンドウに対する相対的なポイントです。画面上ではなく、ウィンドウ上で要素のポイントを取得する方法の解決策を見てきました。
wpf - WPF グリッド列内に要素を配置するにはどうすればよいですか?
Grid コントロールの 3 列目の座標 x=20、y=5 に要素を配置するとします。どうすればいいですか?Canvas パネルを列に追加してから、コントロールを追加する必要がありますか?
wpf - Image と InkPresenter の間の Z オーダー
と を含むこの CustomControl がありInkPresenter
ますImage
。AdornerDecorator
後で画像に装飾を追加する予定なので、画像には があります。が画像の上に描画されるように、Canvas.ZIndex
をImage
より高く設定しました。InkPresenter
InkPresenter
InkPresenter
問題は、ストロークからインクを収集して表示しようとすると、画像の下に描画されることです。(以前は Snoop を使用してビジュアル ツリーを確認していましたが、InkPresenter
は の上にありますImage
) なぜそうなのかわかりません。Image
がの上に描かれている理由を知っている人はいInkPresenter
ますか? どんな助けでも大歓迎です。
私のコードは次のとおりです。
Generic.xaml
MouseDown
、などのイベントを にMouseUp
添付しました。後でこれらのイベントの処理を他のクラスに移動する予定です。MouseMove
InkPresenter
残念ながら、これらのイベントはキャプチャされません。これは、Image
が の上に描画され、InkPresenter
ではなくイベントが取得されるためInkPresenter
です。これがなぜなのか誰か知っていますか?
どんな助けでも大歓迎です。
wpf - WPF ポップアップの ActualWidth を取得する方法
Popup
コントロールに対して相対的な特定の位置に要素を配置しようとしていPlacement
ます。
ActualWidth
それを実現するには、ポップアップ コントロールのを見つける必要があります。ただし、ポップアップを表示する前または後にこの値を取得しようとすると (IsOpen = True)、常に 0 が返されます。
残念ながら、ポップアップのサイズをハードコーディングすることはできません。
をどのように判断できActualWidth
ますか?
.net - Wpf - プライマリ デスクトップを中心に
WPF には、ウィンドウをデスクトップの中央に配置するための「CenterScreen」値があることを知っています。ただし、デュアル モニターでは、これはあまり快適ではありません。
プライマリ モニターを中心にするにはどうすればよいですか? プライマリ デスクトップの検出、そのジオメトリの取得などの歌とダンスを実行する必要がありますか、それともより良い方法がありますか?
wpf - WPF ウィンドウの開始位置の変更
画面の右上に WPF ウィンドウを開きたいと思います。
現時点では、ウィンドウを開いて移動することでそれを実現できます (user32.dll の movewindow を使用)。ただし、このアプローチは、ウィンドウがデフォルトの場所で開き、完全に読み込まれてから右上に移動することを意味します。
ウィンドウの初期位置とサイズを指定できるように変更するにはどうすればよいですか?
wpf - WPF ウィンドウの起動場所を動的に変更する
これは、回答済みの質問 [こちら][1] に対するフォローアップの質問です。
そこでは、WPF ウィンドウの開始位置が XAML で定義されていました。今、コードでこれらのプロパティを変更する方法を知りたいですか? たとえば、次のように言えますか。
Window1.Top = ウィンドウ ロード イベント ハンドラで 40? または、開始位置を動的に変更するためにどのウィンドウイベントを設定する必要がありますか?
目標は、ウィンドウがレンダリングされる前にウィンドウの開始位置を動的に設定することです。
wpf - XAML で値をコントロールの絶対位置にバインドする
XAML を使用して値をコントロールの絶対位置にバインドする方法はありますか?
Line
アプリケーションで 2 つの の間に描画したい要素がありますButton
。の開始点をLine
の位置にバインドすることが、何らかのButton
方法でこれを実現する最も簡単な方法になると考えていました。RelativeSource
wpf - WPF での親の寸法に対するアドナーの配置
装飾された要素の親の寸法に応じて Adorner を配置しようとしています。たとえば、テキストボックスがあります。このテキストボックスを飾りたいので、次のようになります。
装飾者をどのように配置する必要があるか http://img707.imageshack.us/img707/9840/fig1.png
テキストボックスはキャンバスオブジェクトに配置され、十分なスペースが利用できる場合は、テキストボックスの下端に沿って装飾 (半透明の丸みを帯びた正方形) を配置します。ユーザーがテキストボックスをクリックすると、装飾が開始されます。
現在、キャンバスとそのコンテンツ (テキスト ボックス) は WinForms フォームでホストされているため、WPF は ElementHost コントロールによって処理されます。
しかし、コードを実行すると、テキストボックスが初めてクリックされたときに、テキストボックスの上端に揃えられた装飾が表示されます (下の図を参照)。その後、(上の図のように)正しく配置されます。これがなぜなのか知っている人はいますか?
アドナーの位置 http://img14.imageshack.us/img14/4766/fig2v.png
このコードを以下に貼り付けました。
TextBoxAdorner.cs - これは装飾ロジックです。