問題タブ [frameworkelement]
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 - WPF FrameworkElement がスクロールされているかどうかを検出する
FrameworkElement.BringIntoView
非常に便利な方法を発見しました。
ただし、要素が実際に表示されているかどうかを検出する機能も必要です。つまり、BringIntoView を呼び出した場合にスクロールが必要かどうか、または問題の要素が既に表示可能領域内にあるかどうかを通知する関数です。
ありがとう。
c# - 指定された要素は、すでに別の要素の論理的な子です。最初に切断する
これは、FrameworkElement を新しいウィンドウにアタッチして PNG ファイルに公開するときに発生するエラーです。
したがって、私の考えは、親子リンクを削除し、メソッドを呼び出して、このコードで子を再度追加することです:
しかし、まったく同じエラーが発生しました...
SO でこのエラーについて多くの質問をしましたが、何が欠けているのでしょうか?
編集:これが私のために働いたコードです:
silverlight - SL4でFrameworkElementのXAMLをプログラムで取得する
DavidPollFrameworkElement
でシリアル化しようとしましたが、Silverlight Spyで得られる(右の)結果とはまったく異なる結果が得られます。たとえば、XamlSerializerを使用すると、多くの空のタグ(MatrixTransform、ScrollViewerなど)を取得できますが、SilverlightSpyを使用して取得するノードは取得できません。実行時にクリーンな論理ツリーを取得する方法はありますか? XamlSerializer
ContentPresenter
更新:これらのフォームをDBに格納するフォームデザイナプログラムがあり、実行時にDBに格納されている情報からオブジェクト(ユーザーコントロール)を作成します。各フォームはいくつかのフィールドで構成されています。実行時に、すべてのフィールドを含むUserControlをプログラムで作成します。Silverlight Spyで取得できるのと同じように、生成されたXAMLを取得したいと思います。
編集:私はSilverlight環境に限定されず、デスクトップアプリケーションのソリューションも有効です。
c# - FrameworkElement の VisualStateManager.GoToState
を でアニメートするのに問題StackPanel
がありVisualStateManager
ます。
VisualStateManager.GoToState()
Control
パラメータとしてa を受け入れますStackPanel
が、型はUIElement
/FrameworkElement
です。
VisualStateManager.GoToState()
を呼び出すにはどうすればよいStackPanel
ですか?
wpf - ContentPresenter を使用して、wpf の異なるウィンドウでコントロールの同じインスタンスをホストする
- メイン、サブ1、サブ2の3つのウィンドウがあります。
- Context というクラス (これが私のモデルです)。
- コンテキストにはFrameworkElement型のプロパティがあり、Main でインスタンス化されます。
- Main から、sub1 と sub2 をインスタンス化しています。
- sub1 のデータ コンテキストは Main のコンテキストに設定されます。
- sub2 のデータ コンテキストも Main のコンテキストに設定されます。
- sub1 と sub2 は同様の xaml を持っています。xaml は、 ContentPresenterで ContextのFrameworkElementをホストするだけです。
- アプリケーションを実行すると、FrameworkElementは sub2 でのみホストされます。
両方の場所で同じインスタンスをホストすることはできないことはわかっていますが、sub1 と sub2 がアクティブになっているときにコンテンツをデタッチしてアタッチする方法はありますか?
.net - FrameworkElementを非常に大きなラスターイメージとして保存するにはどうすればよいですか?
FrameworkElementを非常に大きなラスターイメージとして保存する必要があります。今のところ、次のようにRenderTargetBitmapクラスとBitmapEncoderを使用しています。
ここで、ElementWidthとElementHeightは大きな数値(約10000x6000)です。しかし、このソリューションでは、要素をレンダリングしようとするとOutOfMemoryExceptionが発生します。
(OutOfMemoryExceptionを引き起こさずに)必要なことを行う他の方法はありますか?ありがとう。
c# - 透過要素を含むカスタム FrameworkElement の全領域でのヒット テスト
から継承するカスタム コントロールがありFrameworkElement
ます。Visual
透明な領域を含む が含まれています。コントロール領域全体をヒット テストに応答させようとしていますが、現時点では、の透明な領域を表示するコントロールの一部をクリックするVisual
と、クリックが下のレイヤーに渡されます。
ハックを使用せずにコントロール全体をヒット テスト可能にする方法はありますか?
Visual
白の背景をペイントしたりBorder
、同じイベント ハンドラーが設定されたカスタム コントロールの周りにを追加したりするような手法は避けたいと思います。
前もって感謝します!
wpf - ICommand をイベントにバインドする WPF (FrameworkElement.Unloaded)
私は MVVM パターンを使用しているため、ビュー モデルはビューについて何も認識せず、ビューは DataTemplates を介して表示されます。
ビューが表示されなくなったら、(ユーティリティ クラスを使用して) スクリーンショットを撮りたいと思います。したがって、FrameworkElement.Unloaded にバインドし、ヒットしたら、別のコントロールで使用するユーザー コントロールのスクリーンショットを撮り、移動するビューを選択します。
この記事を読むと、添付されたプロパティが機能するように見えます (UserControl オブジェクトで使用しています) http://blog.functionalfun.net/2008/09/hooking-up-commands-to-events- in-wpf.html
バインディングは DependencyObject または DependencyProperty でのみ設定できるというエラーが表示されます。私は彼の指示にきちんと従った。なぜこれが機能しないのか、またはMVVMシナリオでどのようにバインドできるのか考えていますか?
その特定のイベントまたはルート xaml ノードのイベントにバインドすることはできませんか?
これがコードです(上記のリンクの EventBehaviorFactory に加えて)
正確なエラーは
タイプ「CustomerView」の「SetUnloadedCommand」プロパティに「Binding」を設定することはできません。「Binding」は、DependencyObject の DependencyProperty でのみ設定できます。
wpf - コマンドへのWPFバインディングFrameworkElementイベント
UserControl
のFrameworkElement
イベントをビュー モデル コマンドにバインドするにはどうすればよいですか? 私は MVVM と Prism を使用しているので、ビュー モデルをビュー間で明確に分離するとよいでしょう。
私は複数のことを試しましたが、どれもうまくいきませんでした:
このチュートリアルも使用http://blog.functionalfun.net/2008/09/hooking-up-commands-to-events-in-wpf.html
コード ビハインドにいくつかの機能を追加する以外に選択肢はありませんか?
上記の試行はどちらもエラーになりませんが、コマンドは実行されません。
ここに私のビューモデルがあります:
c# - サイズが変更されたときにコンテナー内のスプライトを再配布する
WPFに問題があります。サイズの変更に応じて、コンテナー内の小さなスプライトを再配布したいと考えています。
コンテナに Render または Layout 変換を適用すると、スプライトの形状が位置とともに変換されます (たとえば、円が楕円になり、線が太くなったり細くなったりします)。
コンテナのすべての子を反復処理してそれらの位置を更新する以外に、スプライトを自動的に再配布する方法はありますか?
(私は A を持っていますが、コンテナー サイズの変更に応じて C に移動したいと考えています。変換を使用して B を取得できます。)