問題タブ [frameworkelement]
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# - 複数の FrameworkElement インスタンスに関する DependencyProperty の動作
そこでDependencyProperty
、子ビュー間でローカル ViewModel を渡すことに関する問題を解決するために使用してみました。しかし、頭の中に疑問が浮かびました。
たとえば、特定のFrameworkElement
、たとえば の複数のインスタンスを作成する必要がありますUserControl
。それUserControl
にはDependencyProperty
定義があります。本で述べられているように、依存関係プロパティのインスタンスは and である必要がstatic
ありreadonly
ます。DependencyProperty
そのようなシナリオではどのように機能しますか? 従来のプロパティと同じように機能しUserControl
ますか、または に渡すオブジェクト インスタンスは何でもDependencyProperty
、前述の のすべてのインスタンスに渡されUserControl
ますか?
c# - コンパイラは Window を FrameworkElement に変換することを拒否します
私は夢中になっていますか?それともコンパイラですか?
私は持っている:
を期待する関数で使用しようとするとFrameworkElement
、コンパイラは不平を言います:
「System.Windows.Window」から「System.Windows.FrameworkElement」に変換できません
私がやろうとしているときw.Show()
、それは不平を言います:
'System.Windows.Window' には 'Show' の定義が含まれておらず、タイプ 'System.Windows.Window' の最初の引数を受け入れる拡張メソッド 'Show' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか? ?)
しかし、インテリセンスの「定義に移動」を実行するWindow
と、 のサブクラスであるContentControl
のサブクラスであるFrameworkElement
ことがわかり、Show()
メソッドが表示されます。
私も試してみましたSystem.Windows.Window w = new System.Windows.Window()
どうしたの?
EDIT:コードサンプル(役立つ場合):
編集 2 :「CSProj」ItemGroup:
wpf - DiscreteBooleanKeyFrame に管理する FrameworkElement が見つかりません
DiscreteBooleanKeyFrame
テキストボックスの値をバインドしようとしていますHasError
:
それは動作しません。
出力を確認したところ、次のエラーが表示されました。
ターゲット要素の管理 FrameworkElement または FrameworkContentElement が見つかりません。BindingExpression:Path=Validation.HasError; DataItem=null; ターゲット要素は 'DiscreteBooleanKeyFrame' (HashCode=xxxxx) です。ターゲット プロパティは 'Value' (タイプ 'Boolean')
このエラーが発生する理由を知っている人はいますか?
c# - wpfキーダウンでフレームワークコントロールをキャプチャする方法は?
現在、私のページは完全に機能しています。
以下のようなボタンとテキストボックスがあります。
そして以下に、次の定義がありますSomeCommand
:</p>
そして、以下の定義someMethod
:
基本的に、ユーザーがボタンをクリックすると、メッセージボックスが表示され、userInput が表示されます。問題はなく、完全に動作します。
someMethod
今、ユーザーが Enter キーを押したときに呼び出そうとしていますTextBox
が、に提供する必要があるパラメーターがわかりませんsomeMethod
。
以下は、入力キーを検出する私の実装です。
wpf - WPF シンプルな「データ ストレージ」コントロール
WPF には、単一のバインドされたデータに対して何もしない、何も表示しないストレージ リポジトリとして機能する「コントロール」がありますか? 基本的に、"Tag" DependencyProperty のみを公開する非表示のコントロールです。
「頻繁に使用する」データ バインディングの一部を 1 つの場所に統合する方法として、このようなコントロールを使用したいと考えています。後で ViewModel プロパティの名前を変更した場合、バインディングを 1 か所で更新するだけで済みます。私の「タグ」コントロール。
元:
このようなコントロールを使用すると、別の方法では複雑で深くネストされた ViewModel 構造を単一のビュー内で「平坦化」することもできます。また、ユーザー インターフェイスのモックアップをスタブ化するときにプレースホルダーとして使用することもできますが、まだ ViewModel を生成していません。
もう 1 つの理想的な使用シナリオは、使い捨ての「IValueConverter」クラスを作成する代わりに使用することです。例として、結果の「不透明度」を取得するために、IValueConverter を介してデータ バインドされた値をフリッターしようとするのではなく、DataTriggers を使用して正しい値を提示するように StorageControl を「スタイル」することができます。
自分で作成できることはわかっていますが、これはすでに存在している可能性がある十分に汎用的なコントロールのようです。
このシナリオでFrameworkElementを使用しますか?
c# - WPF FrameworkElement.Parent プロパティは、何らかの種類のプロパティ変更イベントを発生させますか?
視覚的な親でイベントを登録する新しい FrameworkElement を作成したいと思います。つまり、ビジュアル ツリーにアタッチされたときと、ビジュアル ツリーからデタッチされたときを知る必要があります。FrameworkElement.Parent は、現在の親に通知します。そこから何らかのイベントを取得できればうまくいきますが、どのようなイベント生成もサポートしていないようです。プロパティはプロパティ変更通知を呼び出しません。これは仮想ではなく、DependencyProperty ではありません。
コントロールが独自の親プロパティへの変更を登録する方法を知っている人はいますか?