問題タブ [attachedbehaviors]
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 - このバインディングが機能しないのはなぜですか
いくつかの DropDownContent とブール値の IsOpen dp を公開して、ドロップダウン コンテンツを表示するかどうかを制御するサード パーティの SplitButton コントロールがあります。
DropDownContent が複数のボタンを持つ StackPanel である場合、各ボタンはビュー モデルのコマンドにバインドされます。そのコマンドを実行するだけでなく、ボタンをクリックすると、開いている DropDown コンテンツを閉じる必要があります。これは、以下の AttachedBehavior で行っています。
しかし、単純に祖先の SplitButton コントロールへの参照を取得する必要がある私のバインディングは機能しません。バインディングでは、SplitButton タイプの最初の Ancestor コントロールを検索しようとしていることがわかります。ただし、デバッグ情報には祖先レベル 1 と表示されているので、レベルを 4 まで変更しましたが、まだエラーが発生しています。
誰かが修正が何であるかを見ることができますか?
バインディングエラー
System.Windows.Data エラー: 4 : 参照 'RelativeSource FindAncestor、AncestorType='Xceed.Wpf.Toolkit.SplitButton'、AncestorLevel='1'' でバインディングのソースが見つかりません。BindingExpression:(パスなし); DataItem=null; ターゲット要素は 'CloseDropDownContentBehavior' (HashCode=8896066) です。ターゲット プロパティは 'DropDownButtonElement' (タイプ 'SplitButton') です。
xaml
付属の動作
wpf - EventToCommand または WPF のイベントの添付動作?
MVVM、EventToCommand、または Attached Behavior のイベントに何を使用する必要があるのか 疑問に思っていましたか? どっちが性能がいい?
c# - FlowDocument内のテンプレートをリストにバインドする?
私は次のようにViewModelにバインドされたものを含むFlowDocumentを持っています(これはインターネットから取得します):
そして、私はFlowDocumentに私のリストfoosをバインドしようとしています。
そして、このクラス、私がインターネットから取得するParagraphInlineBehaviorですが、私はまだ私の目的を達成していません。(フロードキュメントにデータテンプレートを表示します)。
OnParagraphInlineChangedメソッドに問題があります。
c# - 別のコントロールをプロパティとして参照するblend/wpf添付ビヘイビアを実装するにはどうすればよいですか?
オブジェクトで機能する動作を実装しようとしていますが、2 番目のオブジェクトの影響を受けます。
例として、別のフレームワーク要素の距離に基づいてフレームワーク要素の外観を変更します。
私は添付された動作が危険であることを十分に知っているので、クラスを次のように定義します。
そして、動作のどこかで、他のコントロールの名前 (?) を指す依存関係プロパティが必要になります。
この動作が別のコントロールを指すようにするには、依存関係プロパティを作成する必要があるクラスは何ですか?
他のコントロールの名前を表す文字列として propdp を指定しますか?
または、コントロールに関連付けられたタグを示すために使用する必要がある別のクラスがありますか (x:Name ビジネス..)
それとも、propdp はこのようなフレームワーク要素を指す必要がありますか?
または、バインディングで何かをしますか?
別のコントロールで依存関係プロパティを持つ動作または実際に何かを指す方法のベスト プラクティスはありますか?
ブレンドを使用しているユーザーが他のコントロールを選択できるように表示する方法はありますか?
c# - 垂直方向のドラッグ アンド ドロップで要素を並べ替えることができる WPF の ItemsControl の適切なソリューションはありますか?
だからここに私が取り組んでいるシナリオがあります:
現在、ItemsControl/ListView として表されている優先度リストがあり、優先度アイテムの監視可能なコレクションにバインドされています。要素の並べ替えのために、視覚的に厳密に制限された垂直方向のドラッグを提供したいと考えています。
したがって、ドラッグ アドナーはなく、水平方向の動きはなく、垂直方向の動きのみです。リスト項目が別の項目の中間点を通過すると、アニメーションによって「位置が入れ替わる」必要があります。これは、コンテナー自体で mousedown/mousemove を操作することで実行できると確信しており、レンダリング変換を適用してこれを実行できると確信していますが、私の理想的なソリューションには次の 2 つのコンポーネントがあります。
この機能は、WPF の対話動作としてアタッチできます。
システムは MVVM フレンドリーであり、重要なコード ビハインドは必要ありません。
これは行われましたか?どこで見つけることができますか?そうでない場合、これを行うためにすべてのビットをまとめるにはどうすればよいでしょうか?
編集:バウンティが開かれました。コメントで直接質問してください。できるだけ早く返信します。
xaml - ディクショナリをビヘイビアに渡す
私はそのような単純な行動をしています
ビューからこの辞書に値を割り当てたいので、次のように呼びます
しかし、どうすればこの辞書をXAMLまたはそのコードビハインドからの動作に渡すことができますか
wpf - DataContext の変更は、「アタッチされた動作」のバインディングを更新しません
少し前に、XamDataGrid と ObservableCollection としての「ビジネス オブジェクト」の間の双方向の同期のための「アタッチされた動作」を書きました。XamDataGrid はソースであり、DataSource としての ObservableCollection はターゲットです。特定の理由から、私は ListCollectionView を使用しませんでした。
問題
DataGrid の DataContext が別の Vehicle に変更された場合、現在ロードされている DataGrid は動作の DependencyProperty を更新しません。
理由がわかりません。
私が考えることができる唯一の解決策は、DataGrid の DataContextChanged をフックし、DataContext に対して相対的に設定される Path を使用して新しい BindingOperation を実行し、SelectedItems プロパティを把握することです。ただし、その場合、動作の DependencyProperty は、バインディングではなく、SelectedItems プロパティへのパスに設定する必要があります。
次のクラスを持つ
モデル例
xaml
PS: 要素として DataGrid への Element バインディングも試しましたが、修正されません。DependencyProperty は 1 回だけ設定されます。たとえば、モデル
双方向の振る舞い
モデルで選択された項目が変更されると、グリッドで選択された項目も更新する必要があります。また、弱いイベントを使用して切り離す必要もありません。
c# - Silverlight のすべての TextBox にビヘイビアをアタッチする
Silverlight アプリケーションのすべての TextBoxes に動作をアタッチすることは可能ですか?
すべてのテキスト ボックスに単純な機能を追加する必要があります。(フォーカスイベントですべてのテキストを選択)
c# - 親mvvmにアタッチされた動作が機能しない
親と子の2つのユーザーコントロールがあります。子コントロールにはボタンウィッチがあります。親viewmodelメソッドでクリックしたいのですが、機能しません。親ビューで見逃しているものを教えてください。次のようなものがあります。
動作コード:
VM親コマンド:
wpf - WPFで添付イベントを処理する添付動作
この質問についてグーグルで検索しましたが、情報を収集できず、添付の動作で添付のイベントを処理できるかどうか疑問に思いました。
クラスで宣言されたイベントと、TextBoxコントロールにアタッチしている動作があります。ボタンがクリックされると、イベントが発生します。このイベントのハンドラーを動作に追加し、イベントハンドラーにロジックを記述しましたが、実行されません。それで、私は、アタッチされた動作がアタッチされたイベントを処理することが可能かどうか疑問に思いましたか?
これが私のイベントクラスであり、これが動作での処理方法です。
これが私のXAMLコードです:
ボタンのクリックイベントでイベントを発生させています