問題タブ [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.
c# - Silverlight: VisualStateManager.GetVisualStateGroups はありません。どうすれば取得できますか?
カスタム動作のオーバーライドと、その動作のイベントに追加されたイベント ハンドラーで使用VisualStateManager.GetVisualStateGroups
してみました。どちらの場合も、空のリストが表示されます。OnAttached
AssociatedObject.Loaded
コントロールに定義された視覚状態グループを取得する別の方法、またはアタッチする必要がある別のイベント ハンドラーはありますか?
はい、コントロールにはVisualStateGroups
とがありVisualStates
ます。
wpf - バインディング - 動作を使用する場合の UpdateSource
ViewModel にバインドして特定の値を取得する動作を記述しました。ビヘイビアーの Associated オブジェクトがフォーカスを失ったときにソースを明示的に更新したいのですが、ビヘイビアーはフレームワーク要素ではないため (もちろん)、ビヘイビアーで UpdateSource を実行するバインディングにアクセスできません。動作がアタッチされたときにコードで新しいバインディングを作成し、それへの参照を保持することを考えましたが、より良い方法があるかどうか疑問に思いました。何か案は?
前もって感謝します。
wpf - 添付コマンドの動作と LostFocus
ここで説明する方法を使用して、ViewModel ICommand を Combobox の LostFocus イベントにアタッチしますCommandBehavior.RoutedEventName="LostFocus"
。バインディングの発生と同時にイベントが発生することを期待しUpdateSourceTrigger=LostFocus
ていましたが、そうではありませんでした。
selecteditem BindingUpdateSourceTrigger=LostFocus
は、キーボードのタブが離されるたびに、またはユーザーが実際にクリックしてドロップダウンから項目を選択した後に発生します (これが原因でフォーカスが失われる理由はわかりませんが、少なくとも選択が行われた後に発生します)。
添付された動作イベントは、ユーザーがコンボボックスをクリックするたびに発生します。すぐに。キーボードを使用している場合は通常どおり動作し、タブから離れると発火します。ただし、マウスを使用している場合、ユーザーが選択を行う前に、コントロールがフォーカスされるとイベントが発生します。選択した項目に対して lostfocus が行うようにこれを動作させる方法はありますか?
編集:別の答えが存在するかどうかは興味がありますが、追加のバインディングを設定することで、この問題を回避する方法を見つけました。SelectedItem はデフォルトで更新され、通常のプロパティ変更通知を処理し、selectedvalue は lostfocus で更新され、実行しようとしていたコマンドのみを処理します。バインディングは次のようになります。
wpf - マウスがすでにキャプチャされているかどうかを確認する方法
CanvasとCanvas上のボタンを含むユーザーコントロールを作成しました。ボタンをキャンバス上で移動できるようにするために、以下に示すDragBehaviorをアタッチしました。
ビジネス上の理由から、キャンバスを押したままドラッグする場合も、キャンバスを移動する必要があります。同様のBehaviorクラスを使用して、Canvasの余白を変更し、ドラッグ時にマウスポインタと一緒に移動しているように見せました。この動作はマウスもキャプチャします。
ここで問題は-ボタンをクリックしてドラッグすると、CanvasもMouseイベントを取得し、ドラッグを開始します。ボタンをドラッグしているときに、キャンバスの動作でマウスイベントが発生しないようにするにはどうすればよいですか。
Behaviorsにe.Handled=trueを入れてみましたが、うまくいきませんでした。
マウスが他のオブジェクトによってすでにキャプチャされていることがわかった場合は、Behaviorに条件を設定して、再度キャプチャしないようにすることができます。
silverlight - SL4: ItemsControl 内のアイテムの移動 (または再描画) イベントを登録する必要があります
FrameworkElement クラスで移動イベントまたは再描画イベントが見つかりません。そして、Googleも助けません。そう...
VM の監視可能なコレクションによって設定されたカスタム ItemsControl があります。ItemsControl 自体は、
ユーザーがアセンブリ全体をドラッグできるようにします。
ユーザーがアセンブリを移動すると、アセンブリの移動の結果としてアイテムの位置が変更されるため、各アイテムから通知を受けたいです。これまでに登録してみました
しかし、アセンブリをドラッグしても発火しないようです。
また
十分ではないアイテムにマウスを合わせた場合にのみ機能します。私は ItemsControl を移動しているため、イベントを発生させるにはアイテムにマウスを移動する必要があります。
何か案は?OneOfMyDecendantsWasRedrawn イベントなどの形で、ビジュアル ツリーの先祖にヘルプを求めることはできますか? 繰り返しますが、アイテムが移動したときに通知されず、アセンブリが移動したときに通知されないようにしています。
silverlight - SL4/MVVM: VM で void Foo() を使用して MouseDragElementBehavior.Dragging イベントを処理する
私が持っているコントロールで MouseDragElementBehavior.Dragging イベントを処理しようとしています。私がこれをやりたい理由の背景については、こちらを参照してください。
このイベントの配線に問題があります。XAML から、ユーザー コントロールに動作を追加したことがわかります。次に、CallMethodAction EventTrigger を介して動作の Dragging イベントにハンドラーを追加しようとしました。
次のメソッド シグネチャを試してみましたが、うまくいきませんでした。
添付されたビヘイビアでイベントを処理するためにトリガーを使用した経験がある人はいますか?
wpf - パブリックとプライベートのAttachedProperties
対AttachedProperties
として持つことはどこに意味がありますか?通常、それは(例)として定義されます:private
public
しかし、私はいくつかのプロパティがprivate static readonly...
CommandProperty
上記を今に変更するとどうprivate
なりますか?そうすれば、XAMLインテリセンスでまだ利用できるようです。ここで何が欠けていますか?
jquery - drupal7はajaxコンテンツに動作をアタッチします
だから...私はajaxを介してノードフォームを別のページにロードします。私はこのような振る舞いを付けようとします:
問題は何も起こらないということです。フォームには動作が添付されていません(オートコンプリート、折りたたみ可能なフィールドセット、ドラッグ可能なテキストエリアなど)
c# - .NET フレームワークには、添付されたプロパティまたは添付された動作が組み込まれていますか?
Microsoft コード (.NET Framework) に、添付されたプロパティと添付された動作を示すファイルがあるかどうか、基本的に興味があります。私はインターネット上に数多くの例があることを知っていますが、Microsoft がどのようにコーディングしているかを知りたいと思っています。
data-binding - 選択したアイテム(MVVM、SL5)のObservableCollectionへの複数のビューでのバインド
Silverlight 5でMVVMを使用しています。達成したいのはListBox
、あるビュー(ListView.xamlなど)でアイテムを選択し、選択したアイテムをListBox
別のビュー(SelectionView.xamlなど)で表示することです。
私が選択したアイテムは、この回答で説明されているように、添付された動作を介して作成されたObservableCollection<MyItem>
(と呼ばれる)にありますSelectedItems
問題は、2つの異なるXAMLファイルを使用していることのようです。選択が行われる同じXAMLファイルでにをバインドするListBox
と、アイテムは同じビューの別のファイルに問題なく表示されます。しかし、別のファイルでは、空のままです。SelectedItems
ListBox
ListBox
どちらのビューもViewModel
DataContextと同じものを使用します。
私は正しい方向へのいくつかの指針について非常にうれしいです。私はSLを初めて使用するので、明らかな何かが欠けている可能性があります。
これは機能するコードです:
ListView.xaml
そしてこのコードは空のリストボックスを与えるだけです:
SelectionView.xaml
PS:構文の強調表示はlanguage-all:lang-xmlに設定されていますが、機能していないようです。