問題タブ [attached-properties]

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 に答える
3432 参照

silverlight - ControlTemplate の添付プロパティにバインドする - Silverlight

私はこのスタイルを持っています:

問題は、バインディングがボタンに対して機能しないことです。

私が間違っていることは何ですか?

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

wpf - データトリガーバインディングの何が問題になっていますか?

Buttonクラスを追加の状態で拡張するための添付プロパティを作成しました。

次に、次のようにControlTemplate使用してこの値にアクセスします。DataTrigger

しかし、私はこのエラーを受け取ります:

System.Windows.Dataエラー:4:参照'RelativeSource FindAncestor、AncestorType ='System.Windows.Controls.Button'、AncestorLevel='1''でバインドするためのソースが見つかりません。BindingExpression:Path =(0); DataItem = null; ターゲット要素は'ボタン'(名前=''); ターゲットプロパティは「NoTarget」(タイプ「Object」)です

のバインディング式DataTriggerが正しくないようです。私は何が間違っているのですか?

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

wpf - XAML:アタッチ可能なプロパティVisualStateGroupsがタイプVisualStateManagerで見つかりませんでした

VS2008 EE SP1 + WPF+XAMLを使用しています。最初に私はそれに参照を追加しました:

コンパイル中にこのエラーが発生します:

誰かが理由と可能な回避策を知っていますか?

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

wpf - プロパティがアタッチされたバインディング要素のフォーカス?

次のように、コントロールのフォーカスをビューモデルのプロパティにバインドしようとしています。

これは最初のフォーカスでは機能しますが、その後はまったく影響がないようです。

誰かが私が間違っていること、または私が達成しようとしていることを行うためのより良い方法を知っていますか?

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

wpf - アタッチされた依存関係オブジェクトが破棄されたときのガベージコレクション\切断

依存関係オブジェクトに対してアタッチされたプロパティを使用する場合、実際にはプロパティと値を依存関係オブジェクトにマップすると思います。

例えば<DockPanel><TextBlock x:Name="MyText" DockPanel.Dock="Top"/></DockPanel>

ここで、値「Top」は、依存関係オブジェクトのテキストブロック「MyText」を介してDockPanelsDockPropertyにマップされます。

しかし、私の質問は、このマッピングはいつ破棄されるのかということです。私がこれを求めている理由は、DockPanelのDockPropertyがstatic\sharedであるためです。したがって、ある種の内部ディクショナリで、そのような複数のマッピングペア(値、依存関係オブジェクト)がそれに対して維持されている必要があります。(単なる推測)

したがって、これは依存関係オブジェクトが破棄されたときにガベージコレクションされる必要があります。

だから今私のポイントは、そのような添付プロパティの破棄が行われているかどうかを知る必要がある方法はありますか(特定の添付プロパティと依存関係オブジェクトのある種の切断または破棄イベントなど)?

また、そのようなガベージコレクションが行われない場合、これはメモリリークではありませんか?

ThxVinitSankhe。

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

wpf - WPF - ファイル ブラウザが添付された動作でランダムにハングする

このように定義された添付の動作があります..

これは、テキスト ボックスをクリックすると OpenFileDialog が開き、完了したらファイル名をボックスに入力する、単純な添付ビヘイビアです。

おそらく 40% の時間は機能しますが、残りの時間はアプリ全体がハングします。この時点でのコール スタックは次のようになります。

WindowsBase.dll!MS.Win32.UnsafeNativeMethods.GetMessageW(ref System.Windows.Interop.MSG msg, System.Runtime.InteropServices.HandleRef hWnd, int uMsgFilterMin, int uMsgFilterMax) + 0x15 バイト
WindowsBase.dll!System.Windows.Threading. Dispatcher.GetMessage(ref System.Windows.Interop.MSG msg, System.IntPtr hwnd, int minMessage, int maxMessage) + 0x48 バイト WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame フレーム= {System.Windows.Threading.DispatcherFrame}) + 0x8b バイト WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame フレーム) + 0x49 バイト
WindowsBase.dll!System.Windows.Threading. Dispatcher.Run() + 0x4c バイト
PresentationFramework.dll!System.Windows.Application.RunDispatcher (オブジェクト無視) + 0x1e バイト
PresentationFramework.dll!System.Windows.Application.RunInternal(System.Windows.Window ウィンドウ) + 0x6f バイト PresentationFramework.dll!System.Windows.Application. Run(System.Windows.Window ウィンドウ) + 0x26 バイト PresentationFramework.dll!System.Windows.Application.Run() + 0x19 バイト Debugatron.exe!Debugatron.App.Main() + 0x5e バイト C# [Managed Transition にネイティブ]
[管理からネイティブへの移行]
mscorlib.dll!System.AppDomain.nExecuteAssembly(System.Reflection.Assembly アセンブリ、string[] args) + 0x19 バイト mscorlib.dll!System.Runtime.Hosting.ManifestRunner.Run(bool checkAptModel) + 0x6e バイト mscorlib.dll!System .Runtime.Hosting.ManifestRunner.ExecuteAsAssembly() + 0x84 バイト mscorlib.dll!System.Runtime.Hosting.ApplicationActivator.CreateInstance(System.ActivationContext activationContext, string[] activationCustomData) + 0x65 バイト mscorlib.dll!System.Runtime.Hosting. ApplicationActivator.CreateInstance(System.ActivationContext アクティベーションコンテキスト) + 0xa バイト mscorlib.dll!System.Activator.CreateInstance(System.ActivationContext アクティベーションコンテキスト) + 0x3e バイト
Microsoft.VisualStudio.HostingProcess.Utilities.dll!Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone() + 0x23 バイト
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(オブジェクトの状態) + 0x66 バイト
mscorlib.dll!System.Threading. ExecutionContext.Run(System.Threading.ExecutionContext executionContext、System.Threading.ContextCallback コールバック、オブジェクトの状態) + 0x6f バイト
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() + 0x44 バイト

さて、非同期処理を行っているときにこの種のことを見たことがありますが、その時点では何も起こっていません。生きているスレッドは UI スレッドだけです。また、ハングしたときは常に最後のデバッグステートメントを取得します。

誰かが私を正しい方向に向けることができますか? これは私を狂わせる !

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

wpf - AttachedPropertyBrowsableWhenAttributePresentAttribute の使用例はありますか?

私はAttachedPropertyBrowsableWhenAttributePresentAttributeに出くわしましたが、それがいつ役立つかはわかりません。理想はありますか?

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

c# - 添付プロパティ: デフォルト値を設定する場合の「System.TypeInitializationException」

添付プロパティのデフォルト値を設定したいのですが、そうすると次のようになります。

タイプ 'System.ArgumentException' の初回例外が WindowsBase.dll で発生しました

タイプ 'System.TypeInitializationException' の初回例外が Oef_AttDepProp.exe で発生しました

デフォルト値がなくても、問題なく動作します。これは私が使用したサンプルコードです:

問題の原因と思われるのは「new clsPersoon("test", "test")」ですが、それは 2 文字列コンストラクタを持つ非常に単純なクラスにすぎません。

編集: window_load の代わりにクリック イベントを介してプロパティを設定しようとすると、次の innerException が発生します。

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

wpf - Window.Title添付プロパティの作成

基本的に次のようなウィンドウシェルがあります。

実行時にContentPresenterに挿入されるのはUserControlsです。私ができるようにしたいのは、次のように書くことです。

プロパティを使用してウィンドウタイトルが更新されるようにしUserControl Window.Titleます。

これは、添付のプロパティを使用して実現できると思います。誰かが私を正しい方向に始めることができますか?

ダニエル

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

c# - WPFでCanvas.Top変更イベントを処理するにはどうすればよいですか?

Canvas添付プロパティCanvas.Topとを使用して配置された要素がありCanvas.Leftます。次に、アニメーションを使用して、次のように要素を別の座標セットに移動します。

Canvas.TopまたはCanvas.Left変更されるたびにイベントを受け取る方法はありますか? できればアニメと関係なく。