問題タブ [dependency-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:依存関係のプロパティに関する基本的な質問
Window
(ArtistInfo
)に次のXamlがあります。
そして、これは同じウィンドウのコードビハインドです(質問のために簡略化されたコード):
基本的に私がやろうとしているのは、依存関係プロパティへのデータバインディングです。これにより、Artist
(コンストラクターで)TextBlock
が入力されると、アーティストの名前が入力されます。
ここで何が欠けていますか?
wpf - WPF - カスタム コントロールのコンテンツ項目でデータ バインディングを使用するには、どのような条件を満たす必要がありますか?
カスタム コントロール、特に円グラフを作成中です。マークアップを次の例のようにしたい:
PieChart
から派生しControl
ます:
上記の XAML により、Slices
プロパティに の 3 つのインスタンスが設定されますSlice
。
からのスニペットは次のSlice
とおりです。
問題は、Value
プロパティ onSlice
が設定されないことです。に依存関係プロパティを置いてPieChart
バインディング式をコピーすると、値が設定されるので、依存関係プロパティとバインディングの基本を理解していると確信しています。
では、依存関係プロパティで子アイテムに値を設定するにはどうすればよいでしょうか? これらのアイテムは私自身のコレクションにあるため、何らかの方法でバインドを機能させる魔法によって認識される論理ツリーに含まれていないのでしょうか?
単純な「これを行う」という回答は役に立ちますが、ここで何がうまくいかないのかを本当に理解したいので、投稿された最も洞察に満ちた説明的な回答を受け入れます.
EDIT私はそれを明確にしませんでしたが、プロパティなどを含むアンビエントオブジェクトがいくつかありDataContext
ますPieChart
。RedCount
過去に、バインディングのパスにタイプミス(またはその他の間違い)があったとき実行時に VS 出力ウィンドウに警告が表示されます。この場合、何も見えません。
wpf - WPF でのカスタム依存関係プロパティと TwoWay バインディング
DependencyObject から派生し、いくつかの DependencyProperties を実装するオブジェクトがあります。
基本的には次のようなものです:
これは機能し、プロパティはセットアップされ、バインドできます。問題は、TwoWay バインドを使用して WPF からプロパティにバインドするときに発生します。TwoWay 部分が実際に発生することはなく、WPF がこのプロパティのセットを呼び出すことはありません。バインディングを次のように設定しました。
この場合、テキスト ボックスに入力するとすぐに Name プロパティが更新されますが、更新されません。Name プロパティを通常の POCO プロパティに変更すると、機能します (ただし、INotifyPropertyChanged を実装しない限り、TwoWay の反対側は機能しません)。
ここで何が間違っていますか?これは本当に簡単なことですが、頭痛の種は尽きません。
wpf - コントロールに依存関係プロパティを追加します
Infragistics XamDateTimeEditorコントロールを使用していますが、依存関係プロパティを追加して、コントロールがフォーカスを取得したときに開発者がすべてのテキストを選択できるようにします。必要な動作を設定するために使用するスタイルを作成しましたが、ブール依存関係プロパティに基づいて動作を実行するかどうかを開発者に決定してもらいたいです。それがどのように行われるのかわかりません。
c# - カスタム DependencyProperty
TextBlock の LeftAlignment のようなプロパティに似た 2 つのオプション (Left と Right) を持つ DependencyProperty を作成したいと考えています。
これに関連するコードを知っている人はいますか?これまでのところ、以下のように単純な DependencyPropertys のみを作成しました。
silverlight - Silverlight:継承されたDependencyPropertyの変更の通知を受け取る方法
私は(あなたがそれを推測した)コントロールから継承するコントロールを持っています。FontSize
またはStyle
プロパティが変更されるたびに通知を受け取りたいです。WPFでは、を呼び出すことでそれを行いDependencyProperty.OverrideMetadata()
ます。もちろん、そのような便利なものはSilverlightにはありません。では、どのようにしてそのような種類の通知を受け取ることができるでしょうか。
c# - WPF: データバインドされたコレクション (依存関係プロパティ) に要素を追加する
DependencyProperty
コレクション( )であるプロパティを持つエンティティを保持するこれがありますShoutBox.Entities
:
xaml
次のようにバインドされています。
初めてバインドすると、期待どおりに動作しますが、次のように (同じコントロール内にあるメソッドを使用して) コレクションに項目を追加する必要がある場合があります。
問題は、上記の方法で新しい要素を追加すると、アイテムが に表示されないことItemsControl
です。
私の質問は、追加している新しい要素がに表示されないのはなぜItemsControl
ですか?
[編集]
Entries
( ShoutBox.Entries ) はタイプですList<ShoutBoxEntry>
wpf - WPF デザイナーと依存関係プロパティへのバインドの問題
カスタム依存関係プロパティにバインドするときに WPF デザイナーを更新する際に問題があります。
次の例では、カスタムの MyAwesomeFill プロパティで塗りつぶす単純な Ellipse を作成します。MyAwesomeFill には、Yellow SolidColor ブラシのデフォルト値があります。
問題は、デザイナのコントロール フォームで、楕円のデフォルトの塗りつぶし (黄色) が表示されず、楕円が SolidColor (#00000000) で塗りつぶされていることです。ただし、アプリケーションを実行すると、すべてが完全に機能します。
なぜこれが起こっているのか、何か考えはありますか?
ありがとう。
私が使用するコードは次のとおりです。
XAML:
C#:
c# - WPF 依存関係プロパティ: 所有者タイプを指定する必要があるのはなぜですか?
これは私が登録する方法ですDependencyProperty
:
メソッドの 3 番目のパラメーターではDependencyProperty.Register
、依存関係プロパティが存在するコントロールのタイプを指定する必要があります (この場合、私のユーザー コントロールは と呼ばれますNewOnlineUserNotifier
)。
私の質問は、実際に所有者の型を指定する理由と、実際の所有者の型とは異なる型を指定するとどうなるかということです。