問題タブ [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.
wpf - カスタム コントロールの新しいプロパティをビュー モデルにバインドする
既存のコントロール (私の場合は ComboBox) を拡張して、ビュー モデルのプロパティにバインドできる新しいプロパティを含めるにはどうすればよいですか??
次のように、コントロールのクラスに依存関係プロパティがあります。
そして、次のように XAML から宣言的にバインドします。
バインディングが機能しません。なぜですか??
ありがとう。
wpf - デフォルト値を指定すると、依存関係プロパティの実装によってアプリケーションがクラッシュするのはなぜですか?
デフォルト値を指定すると、依存関係プロパティの実装によってアプリケーションがクラッシュするのはなぜですか?
このコード セグメントは、UserControl オブジェクトのクラス宣言にあります。すべてが正常に動作します - コンパイルして完全に実行します。
ただし、依存関係プロパティに既定値を追加すると、
コードはコンパイルされますが、UserControl をインスタンス化しようとすると致命的な例外が発生してクラッシュします。
参考までに、私のコードは次のようになりました - PropertyMetaData 行が追加されました:
Register() の呼び出しから PropertyMetadata を削除すると、プログラムは完全に機能し、クラッシュやその他の問題は発生しません。しかし、後のコードにはデフォルト値が必要です。クラッシュせずにデフォルト値を受け入れるにはどうすればよいですか?
クラッシュすると、次の例外が出力ウィンドウに表示されます。
私はこれをできるだけ早く機能させる必要があるので、アドバイスは素晴らしいでしょう!
wpf - MVVMを使用した依存関係プロパティのチェーン
ViewModelでプロパティを公開し、Viewの2つの別々のコントロールの影響を受ける方法を探しています。
コードビューでは、次のようなことをしようとしています。
これの目的は、ユーザーがアイテムを選択して同じユーザーコントロールで編集できるようにすることですが、それは私には機能しません。MySelectorで選択が行われると、変更はMyEditorに伝達されません。
これは可能ですか?
wpf - XAML - 派生の要素をバインドする方法ベースの要素へ?
<UserControl>
派生の要素を base の要素にバインドするにはどうすればよい<UserControl>
ですか?
Tile という UserControl を基本クラスとして定義しました。XAMLから派生したオブジェクトをインスタンス化しようとしたときにXAMLがボークしない場合、これは抽象基本クラスになります...
とにかく、これまでのところ、Tile には OuterShape という 1 つの依存関係プロパティしか含まれていません。これは System.Windows.Shapes.Shape オブジェクトです (抽象的でもあります)。したがって、すべてのタイルには、レンダリングのために、それらに関連付けられたある種の視覚的な形状があります。しかし、タイルにはさまざまな種類があります --- System.Windows.Shapes.Paths を使用するもの、System.Windows.Shapes.Polygons を使用するものなどがあります。
だから今、私は最初の派生 UserControl: PolyTile に取り組んでいます。名前が示すように、これは System.Windows.Shapes.Polygon を「OuterShape」プロパティとして使用するタイルです。
私が直面している問題は、XAML<Polygon>
要素を基本クラスの Shape プロパティに正常にバインドする方法がわからないことです。
...................................
...................................
XAML でこのバインディングを設定する方法がわかりません。(私はすべてを考えたと言うほどDataContextsをよく理解していませんが...)
そのため、バックコードでバインディングを手動で設定してみました。バインディング パスとソースおよびターゲット要素を整理するさまざまな方法を試しました。致命的な例外、PathError、または UpdateSourceError を取得するたびに、似たようなことが起こります。
私が間違っていることを誰かが知っていますか?
どんなアドバイスでも大歓迎です!
validation - Silverlight 検証の依存関係のプロパティ
通知プロパティではなく、依存関係プロパティにバインドするときに SL3 検証を使用した人はいますか?
もしそうなら、セッター検証コードをどこに書きましたか? 良い Web の例を知っていますか?
ありがとう、マーク
silverlight - Silverlight では、DependencyProperty の最小値/最大値を定義できますか?
たとえば、Canvas の ScaleTransform を変更する依存関係プロパティがありますが、0 を下回るとエラーがスローされます。確かに、それが発生した場合は、コードで強制的にゼロにすることもできますが、Silverlight には存在しない、または最小/最大値を設定することさえない udouble (符号なし double) を使用するような、より良い方法を使用したいと思います。 DependencyProperty のどこかに。
ここで最善のアプローチは何ですか?
wpf - 依存関係プロパティの使用コスト
から継承するコントロールがあるとしますUserControl
(したがって、そのスーパークラスの1つはですDependencyObject
)。DependencyProperty
少しの実装が必要なため、を使用して通知の問題を解決するのは非常に簡単ですINotifyPropertyChanged
。他のオプションは、コントロールの状態を変更するメソッドを作成することです(のようにmyControl.HideTextBox()
)。これを解決するためのオプションは他にもいくつかあると思いますが、コントロールはすでにから継承しDependencyObject
てDependencyProperty
いるため、より明白な方法のようですが、最適ではない可能性があります。
何か考えはありますか?
ありがとう!
wpf - 依存関係プロパティでサブクラスを初期化するときの TypeInitializationException
次の単純なTextBox サブクラスがあり、1 つの依存関係プロパティ(OutputIndex)が追加されます。
次のように、OutputTextBox のインスタンスをインスタンス化しようとすると、
InnerExceptionでSystem.TypeInitializationExceptionがスローされ、「デフォルト値の型がプロパティ 'OutputIndex' の型と一致しません。」
InnerException が参照している「デフォルト値の型」は何ですか? OutputTextBox のインスタンスをインスタンス化できるようにするには、どうすればよいですか?
wpf - WPF: DependencyProperty が機能しない
ウィンドウの書式設定を制御するために、ウィンドウに 3 つの依存関係プロパティを登録しようとしています。私はコードを何度も見てきましたが、何かが欠けているに違いありません。
Bea Stollnitz のデバッグ方法を使用していますが、ブレークポイントがトリガーされません。