問題タブ [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.
c# - WPF - カスタム コントロールでのカスタム添付イベントの処理
そのように宣言されたルーティング イベントがあります (無実を保護するために名前が変更されています)。
かなり標準的なもの。XAML には、1 つのカスタム コントロールを含む DataTemplate があります。このイベント (およびその他の添付プロパティ) をコントロールに添付しようとしています:
これでは、望ましい結果が得られません。具体的には、DragComplete イベントの RaiseEvent() を呼び出すコードが呼び出されている間、ハンドラーは呼び出されません。実際には、この XAML ファイルの他の場所にフックされている他のカスタム ルーティング イベントのハンドラーでもありません。
ルーティング イベントの名前を変更し、データ テンプレートを DataType から x:Key に切り替えてみました。これにより、動作に目に見える変化は生じませんでした。
ただし、My:CustomControl を TextBlock などの組み込みの WPF コントロールに変更すると、イベントは期待どおりに発生します。同様に、カスタム コントロールをプロジェクトの他のカスタム UserControl サブクラスに置き換えると、動作は壊れた、イベントがまったく処理されないように見える状態に戻ります。
これは私にはあまり意味がありません。このシナリオを機能させるために必要な特定のことはありますか? それは問題ではないようです。すべてのカスタム コントロールで実行した特定のことが原因でイベント処理が中断された可能性があると思いますが、これまでに試した 3 つまたは 4 つのカスタム コントロールでは共通点は見られませんでした。
wpf - 型リストの添付プロパティ
この構文で使用できる添付プロパティを作成したい:
これは私の試みです:
ただし、これにより解析時に例外が発生します -- System.ArgumentException: TabItem は、プロパティ 'DisplayFilter' の有効な値ではありません。では、目的の XAML 構文を使用できるように、添付プロパティを構成するにはどうすればよいでしょうか?
wpf - アタッチ プロパティが値を返さない
カスタム パネルに対して次のように宣言された添付プロパティがあります。
パネルを次のように定義すると、正常に動作します。
しかし、このパネルを として使用ItemsPanelTemplate
するListBox
と、常にデフォルト値が に返されますArrangeOverride
。
また、カスタム ラップ パネルを で使用すると、Arrange メソッドListBox
が送信されるため、Arrange で値を設定できないことにも気付きました。double.PositiveInfinite
単独で使用しても同じように機能します
ありがとう
c# - 添付プロパティを作成しましたが、どのように使用すればよいですか?
アタッチされたビヘイビアーが、アプリケーションでフォームのコントロールを構築するために必要なものであるかどうかを判断しようとしています。
したがって、アタッチド ビヘイビアの作成方法を知りたいだけでなく、アタッチド ビヘイビアを使用して問題を解決する実際の例を見たいと思っています。この MSDN の記事を使用して、便利だと思われる方法でプロパティが添付された UserControl を作成しました。つまり、特定の子要素が強調表示されているか、強調表示されていないスタックパネルです。
この例は正常に実行されますが、子要素を強調表示するロジック、または強調表示しないロジック (背景色の変更など) をどこに配置すればよいでしょうか?
XAML:
コードビハインド:
wpf - データバインドで起動しない添付プロパティのアクセサを取得または設定しますか?WPF
カスタムの添付プロパティがありますが、データバインディングでアクセサーにアクセスすることはありません。これらのアクセサーは、アタッチされたプロパティが変更されるたびにアクセスされることを意図していますか?
XAML:
c# - 添付プロパティをシリアル化する方法
Composite Application Libraryを使用して.NET3.5、WPFアプリケーションを書いています。アプリケーションはいくつかのモジュールに分かれています。
インフラストラクチャ モジュールで NetworkNode オブジェクトを定義しました。Network モジュールは NetworkNodes のコレクションを管理し、XmlSerializer を使用してこのコレクションを保存/ロードします。これまでのところ、すべてが機能します。
しかし、NodeModuleなどの他のモジュールがあります。Network モジュールで NetworkNode が選択された場合、イベントは EventAggregator を使用して他のモジュールに発行されます。これらのモジュールは、添付プロパティを使用してさまざまな情報を NetworkNode に添付できます。
問題は、NetworkModule が他のモジュールを認識しないため、これらのプロパティがシリアル化されないことです。オブジェクトにアタッチされたすべてのプロパティを何らかの方法でリストしてシリアル化することは可能ですか? または、概念を変更して、添付プロパティ以外のものを使用する必要がありますか?
よろしく
silverlight-3.0 - Silverlight DataGridColumn AttachedProperties
Silverlight 3.0 内でAttachedProperty
forを作成しようとしていますが、いくつか問題があります。DataGridColumn
ここに AttachedProperty があります:
ご覧のとおり、非常に単純です。DataGridColumn クラスの Header プロパティをバインドできないという制限を克服しようとしています。
この XAML は期待どおりに動作します...
ただし、この XAML はエラーをスローします...(具体的には: {System.Windows.Markup.XamlParseException: AG_E_PARSER_PROPERTY_NOT_FOUND [Line: 224 Position: 112] at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator) ....} )
実験のために、このプロパティを (上記のバインディング構文で) にアタッチし、メソッドでプロパティDataGrid
をチェックしたところ、値は正しかった (そして例外はスローされなかった)DataGridColumnHelper.Header
OnHeaderPropertyChanged
AttachedProperty がアタッチされているオブジェクトはDependencyProperty
. Reflector を調べると、DataGridColumn
(DataGridTextColumn
派生元) は から派生しDependencyProperty
ます。
誰かがこれに光を当てることができますか?アプリケーションをローカライズしようとしていますが、DataGrid に問題があります。コードビハインドでこれを実行できると確信していますが、それを回避しようとしています。
silverlight - ControlTemplate の添付プロパティにバインドする - Silverlight
私はこのスタイルを持っています:
問題は、バインディングがボタンに対して機能しないことです。
私が間違っていることは何ですか?
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
が正しくないようです。私は何が間違っているのですか?
wpf - XAML:アタッチ可能なプロパティVisualStateGroupsがタイプVisualStateManagerで見つかりませんでした
VS2008 EE SP1 + WPF+XAMLを使用しています。最初に私はそれに参照を追加しました:
コンパイル中にこのエラーが発生します:
誰かが理由と可能な回避策を知っていますか?