問題タブ [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 に答える
172 参照

wpf - コレクション コントロールと添付プロパティ

2 つの質問があります。

1) 次のように xaml で使用できるコレクション コントロールを作成したい:

これどうやってするの?

2) 上記と同様。

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

wpf - XAML、WPFで添付プロパティにバインドする方法

User.PasswordプロパティをPasswordBox(TwoWay)にバインドしたいと思います。PasswordBox.Passwordはバインド可能ではないため、これを修正するためにAttachedPropertiesを作成しました(1つはバインドをアクティブ化し、もう1つは実際のパスワードを保持します)。問題は、それらがバインドされないことです(GetBindingExpressionはnullを返します)。

また:

  • AttachedPropertiesは機能します。PasswordBoxに入力すると、PasswordとPasswordValue(添付のprop)は正しく設定されますが、User.Passwordは空のままです。
  • AttachedPropertyのバインドも機能しますが、その逆です。PasswordValueをTextBlockにバインドすると(TextBlock.Textがターゲット、helper:PasswordValueがソース)、機能します。Userのプロパティは依存関係オブジェクトではないため、これを使用できないのは私だけです。
  • User.Passwordはバインド可能であり(ユーザーはINotifyPropertyChangedを実装します)、User.UsernameをTextBox.Textにバインドすることができました(ユーザー名とパスワードは同様の文字列プロパティです)

AttachedPropertiesは次のとおりです。

そして、バインディングを含むXAML部分:

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

silverlight - DataGridColumnのDataGridを検索します

DataGrid与えられたのを取得するにはどうすればよいですかDataGridColumnDataGridに適用されるサブクラスに添付プロパティを作成しましたDataGridColumn(サブクラス化していません)。添付プロパティを適用する対象が表示されますが、参照自体DataGridColumnを取得するにはどうすればよいですか?DataGrid両方必要です。

編集:

私がもっと興味を持っているのは、アタッチされたプロパティのイベントハンドラーで、アタッチされたプロパティDependencyObjectを実際にホストしているインスタンスを取得する方法です。つまり、そのDataGrid代わりにDataGridColumnプロパティも添付されます。

次に、添付プロパティのメタデータにOnSingleClickEditPropertyChangedとして登録されている静的ハンドラーがあります。PropertyChangedCallbackSingleClickEditProperty

そのプロパティが呼び出されると(id estプロパティが列で変更された場合) 、インスタンスDataGridTextColumnが必要なときに、が与えられます。MvvmDataGrid

0 投票する
5 に答える
813 参照

wpf - WPFがグリッドでの配置などにアタッチされたプロパティを使用するのはなぜですか?

なぜ「添付プロパティ」が必要なのですか?特定のDependencyObjectにさえ存在しないプロパティの値を設定できる可能性があるため(そしてそれらは黙って無視されるだけです)、その概念は私を少し悩ませます。問題を探す解決策のように思えます。たとえば、HTMLが行うことを実行し、親要素に子の配置などを明示的に決定させるのはなぜですか。

つまり、次の代わりに:

なぜこのようなものではないのですか(HTMLの<tr>およびと同等):<td>

おそらくグリッドは単なる悪い例であり、アタッチされたプロパティは他のコンテキストでより意味がありますか?それとも私は何かを完全に見逃していますか?

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

c# - registerattachedDependencyプロパティのヘルプ

から継承する独自のDataGridコントロールを作成しましたDataGrid。列レベルで使用する依存関係プロパティを宣言したので、PreviewKeyDownイベントで値を確認し、この現在のセルを処理する必要があるかどうかを判断します。

私のXAMLは次のようになります。

しかし、この依存関係プロパティを列レベルで使用できるようにすることには、実際の問題があります。私がやろうとしていることは、と同じGrid.Columnです。誰かがそれを手伝ってくれますか?

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

wpf - 継承による添付プロパティのスタイリング

私の質問はこれに似ています: WPF Style with no target type? しかし問題は、私のものが添付プロパティであることです:

私の目標は、形状から派生するすべてのオブジェクトには、値を持つ Zommable.Unscale プロパティが添付されている必要がありますが、その方法が見つかりません。ありがとう !

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

wpf - データテンプレート内に配置されたときに、BindingExpressionタイプの添付プロパティが評価されないのはなぜですか?

バインディングをキャッチして複数のプロパティに複製できるようにするために、BindingExpressionタイプのSelectorにアタッチされたプロパティを定義しました。アタッチされたプロパティは、セレクターがXAMLで直接定義されている場合に正常に機能します。ただし、SelectorがDataTemplate内で定義されている場合、プロパティ変更ハンドラーは起動されません。

付属物件

使用法(有効)

使用法(無効)

Snoopを使用してプロパティを評価すると、プロパティが自動的に更新されて機能し始めることがわかったため、タイミングの問題のようです。

ヘルプや説明をいただければ幸いです。:)

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

c# - TextBox がフォーカスを取得したときの Caliburn Message.Attach に関するヘルプが必要

ビューモデルのプロパティにバインドされた添付プロパティを使用してフォーカスを設定している TextBox があります。添付プロパティは「UIElement.Focus()」を呼び出してフォーカスを設定します。問題は、TextBox がこの方法でフォーカスを受け取ると、"GotFocus" イベントが発生しないことです。イベントを処理するために Caliburn.Micro の Message.Attach を使用しています。何か案は?

ここにテキストボックスがあります。

これが添付プロパティです(SOにあります)。

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 投票する
2 に答える
2470 参照

wpf - WPFキャンバスの子に添付された上/下/左/右プロパティを削除するにはどうすればよいですか?

おそらくここで単純なものが欠けているのでしょうが、キャンバスに含まれるアイテムから添付プロパティを削除する方法が見つかりません。

コード例:

Top 添付プロパティは Bottom 添付プロパティよりも優先されるため、これは機能しません。そのため、一番上の添付プロパティを「設定解除」しようとします

...そしてコンパイラは、UnsetValue を double に変換できないと不平を言います。

ここで何が欠けていますか? Top 添付プロパティを削除するにはどうすればよいですか?