問題タブ [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.

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

c# - ブレンドのボタンで DragMoveBehaviorElement (ドラッグ) を使用するには?

ブレンドでドラッグ可能なボタンを作成しようとしています。ボタンで dragmobehaviorelement を使用しても何も起こりません。これは、ボタンが既に LeftMouseButton_down イベントを使用しているためだと思います。

形状 (exp: ellipse) でこの動作を使用すると問題なく動作します。

ドラッグ可能なボタンを作成する方法はありますか?

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

c# - ObjectContext を DataContext からカスタム添付プロパティにバインドできません

プロパティを添付しました

また、正しい ObjectContext に設定された Context プロパティを持つ ViewModel もあります (デバッガーでチェック)。

そして、この XAML コード:

local は私の名前空間です。

IsFilterableGrid の変更されたイベント (接続された動作) でこのコードを使用して、オブジェクト コンテキストを取得します。

そして、コンテキスト変数は常に null になります。グリッドの DataContext は null ではなく、正しいオブジェクト (ViewModel) を指していますが。

何か案は?これで正気を失いそうです…

編集:もう少し調査しましたが、バインドするlocal:FilterableGrid.IsFilterableGrid="{Binding IsFilterable}"と完全に機能します。しかし、local:FilterableGrid.ObjectContext="{Binding Context}"そうではありません!渡される値の型と何か関係があるのか​​もしれません (プリミティブ型である文字列の代わりに ObjectContext または bool と言いますか?)。

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

wpf - TextBox.TextChanged イベント/MVVM コマンドによる ComboBox.TextInput イベント

過去 2 日間、Commanding を介して TextBox.TextChanged イベントまたは ComboBox.TextInput イベントを起動する Attach-command-behaviour について調べています。しかし、私はこれに対する適切な解決策を得ることができません。

私が得た解決策の 1 つは、Text を ViewModel プロパティにバインドすることにより、UpdateSourceTrigger=PropertyChanged で目的のメソッドを呼び出すことでした。

しかし、MVVM の調査結果によると、プロパティは、OnPropertyChanged を含むプライベート メンバーのゲッターとセッター以外のコードを保持してはなりません。

それで、誰かがこれについて私を助けてくれますか、私が正しい方向に進んでいるかどうかを教えてください。または、どこかに何かが欠けています。

詳細な説明、リンク、またはサンプルコードは高く評価されます。

コーディング、VJを楽しむ

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

wpf - controltemplate の要素にビヘイビア バインディングを追加

つまみをドラッグして特定の領域に保持すると、一部のコンテンツをスクロールさせる動作をスライダーに追加しています。(Slider Thumb には MouseCapture があるため、単純な IsMouseOver トリガーは使用できません。)

動作には 3 つのプロパティがあります。

ユーザーがスライダーをドラッグすると、IsScrollHoverProperty が true に設定されます。これはすべて Slider の ControlTemplates.Triggers で行われ、正しく機能します。

true に設定すると、コールバックは PreviewMouseEnterHandlers を 2 つの Rectangles にフックして、マウスがそれらに入ったときを検出します。

問題の Rectangles は、Slider の controltemplate でも次のように定義されています。

私が抱えている問題は、これらの Rectangles を添付の ScrollRightRect および ScrollLeftRect プロパティにバインドすることです。私はいくつかのことを試してみましたが、ばかげたバインド エラーを起こしたか、許可されていないことをしようとしていると思われます。現在、次のように controltemplate.triggers にバインドしています。

長方形が予想どおり赤で塗りつぶされているため、このトリガーが作動していることがわかります。これらのスニペットから私が間違っていることを誰でも見つけることができますか?

前もって感謝します。

ロブ

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

wpf - MVVMでクリックイベントを処理する最良の方法は何ですか?

MVVMでクリックイベントを処理する最良の方法は何ですか? 最善の方法はありますか?

私は2つの解決策を見つけました:

リレーコマンドで:

プロ: ?; contra:フォーカスなどのUI 要素を変更する場合は、イベントに関する回避策が必要です

付属の動作で:

プロ:UIの変更にはRoutedEventArgsがあります。反対: 他のコントロールへのアクセス?

現在、両方のソリューションを使用しています。Buttons の RellayCommand (UI 更新のイベントを含む) と、ユーザーがクリックした場合にツリービュー項目の選択を解除するためのツリービューの添付された動作。

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

wpf - 添付の動作とスタイル

以下のバインディングのように、DoubleClickイベントをビューモデルのコマンドにワイヤリングできるようにする添付の動作を使用します。

プレゼンテーション用に複数のリストボックスが必要です。すべてのリストボックスには、EditCommandに接続されたDoubleClickが必要です。

この動作をMasterListBoxStyleにプッシュできますか?どのように?

乾杯、
ベリール

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

wpf - VB.NET での WPF AttachedCommandsBehavior

AttachedCommands を実装する方法の例を教えてもらえますか?

C# にはいくつかの例があり、C# に非常に似ていると思いますが、コードを VB.NET に変換するのに問題があります。

現時点で、C# の AttachedCommand-Class を VB.net に変換しようとすると、次のようになります。

しかし、GetValue() および SetValue() メソッドが使用できないという問題があります。何か案は?

ご協力ありがとうございました..

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

wpf - Blend Behaviors - それらのプロパティにバインドできますか?

Expression Blend 内でのドラッグ アンド ドロップをサポートするために、作成した多数のアタッチされたビヘイビアを Blend ビヘイビアに移行しています。Blend ビヘイビアの作成者は、ビヘイビア プロパティを依存プロパティとして定義する傾向があることに気付きました。

double 型TiltBehaviourの public 依存関係プロパティ を公開する動作 を作成しました。TiltFactorExpression Blend 内でこのプロパティの値を設定できますが、「Data Binding ...」を追加するオプションはグレー表示されています。

動作プロパティにバインドできません

また、ビヘイビアが extends であることにも気付きましたDependencyObject。したがって、ビヘイビアには がなく、アタッチされている要素DataContextの を継承できません。DataContextこれは私にとって本当の弱点のように感じます!

要するに、Blend でビヘイビア依存プロパティへのバインディングを設定できず、それが を継承しない場合DataContext、なぜ依存プロパティをわざわざ使用する必要があるのでしょうか? 代わりに CLR プロパティを使用できます。

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

wpf - Using MouseDragElementBehavior with an ItemsControl and Canvas

I am currently having a problem using the MouseDragElementsBehavior from the Blend SDK when using a ItemsControl and a Custom Canvas. My custom canvas simply adds or removes the MouseDragElement from its children depending on a DependencyProperty. This worked just fine when I was manually adding Items to the Canvas' children but appears to have broken when moving to an ItemsControl.

I am currently using the following ItemsControl code:

Adding the Drag Behavior in the Canvas.VisualChildrenChanged method does not allow the newly created object to be moved like before.

Do I need to add the Drag behavior to something other then the ContentPresenter that is passed to VisualChildrenChanged or provide a special style?

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

c# - ラムダ式デリゲートの動作

リストボックスで使用される動作が添付されています。リストに要素が1つしか含まれていない場合、リストの最初の要素が自動的に選択されます。

リストが変更されたときにリストボックスをフックする唯一の方法は、リストボックスの itemcollections CollectionChanged イベントを使用することです。

ここでの問題は、イベントのサブスクライブを解除する方法がないことです。これにより、 が複数回呼び出される可能性がありSelectAndSetFocusToFirstelement( )ます。

これに対する通常の解決策は、ラムダを使用しないことです。しかし、最初の要素を選択するために必要なリストボックスが失われます。

これを解決する方法について何か提案はありますか?

完全なコード