問題タブ [objectdataprovider]
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 - wpfxamlが現在のオブジェクトのメソッドを呼び出す
メソッドの出力にバインドしようとしています。これを使用した例を見てきましたが、これに関するObjectDataProvider
問題は、ObjectDataProviderがメソッドを呼び出すオブジェクトの新しいインスタンスを作成することです。現在のオブジェクトインスタンスで呼び出されるメソッドが必要な場合。私は現在、コンバーターを動作させようとしています。
設定:
XAMLでの私の試み
背後にある私のコード
私の問題は、現在のエンティティをコンバータに渡すことができないように見えることです。したがって、リフレクションを使用してgetPropertyメソッドを取得しようとすると、操作するものが何もありません。
ありがとう、ステフ
wpf - ObjectDataProvider のメソッド パラメーターとしての WPF 列挙値
MyItemSourceProvider からの GetValues メソッドのパラメーターとして、MyEnum の具体的な値を渡したいと考えています。書き方を教えてください。
方法:
wpf - XAML でオブジェクトのインスタンスをインスタンス化して再利用する
XAML でオブジェクトをインスタンス化し、これらのインスタンスを再利用したいと考えています。私はそれが単純であるべきだと思いますが、私は立ち往生しています.おそらく明らかなものが欠けています.
猫を別の部屋に追加したいとします (部屋には猫型のオブジェクトを含む ObservableCollection があります)。UserControl.Resources で ObjectDataProviders を作成します。
私の UserControl では、猫を部屋に追加したいと考えています。
Cat インスタンスを ObservableCollection Room.Cats に追加するための構文は何ですか? たとえば、Cat1 と Cat2 を Room1 に追加し、Cat2 と Cat3 を Room2 に追加したいとします。私は完全に間違った道を進んでいますか?
wpf - リストボックス項目インデックスをパラメーターとして objectdataprovider に渡す
現在、オブジェクト データ プロバイダーを使用して、リストボックス アイテムのインデックスに依存する色で、各リスト ボックス アイテムの背景として使用したい色を返そうとしています。
基本的に、オブジェクトに渡されるパラメーターは元の色と listboxitem インデックスであり、インデックスに基づいて明るい色を返します... オブジェクト データ プロバイダー用に現在持っているコードは次のとおりです。
依存オブジェクトではなく、バインディングのルールに準拠していないため、直接バインドを実行できないこと、および直接設定する必要があることは承知しています...ただし、リストボックス項目 xaml のどこにあるのかわかりません私は縛り返すことになっています。
さらに、これに対する答えを長い間検索したところ、このメソッドを使用してテキストボックスに入力したものなどに基づいてパラメーターのみを変更する例しか見つかりませんでした:-
リストボックスのインデックスにバインドしたいので、それをどのプロパティに入れるかわかりません。
2 番目の質問: リストボックス項目には、コンテンツがリストボックス項目インデックスにバインドされているラベルがありますが、常にインデックスにバインドしたい場合、上記のバインド ソース手法を使用してコンテンツをバインドするにはどうすればよいですか?
事前にご協力いただきありがとうございます。=)
wpf - WPF データ バインディング: CollectionViewSource と ObjectDataProvider の問題
MainWindow.xaml ファイルがあります。
およびそのコード ビハインド クラスで、詳細スコープのフィルターを定義しました。
次に、AccountDetail
クラスがあります。
最後に、列挙型:
コードを実行すると、一連のアカウントの詳細が入力されたリスト ボックスが表示されます。それぞれのリスト ボックスには、選択されたスコープを持つ独自のコンボ ボックスと、適切な値を持つテキスト ボックスがあります。問題は、コンボ ボックスで選択されたすべての値が、最後に入力された詳細に設定された範囲と一致し、コンボ ボックスの値を変更すると、それらがすべて同じアカウントの詳細にバインドされているかのように、すべての値が更新されることです。
ObjectDataProvider
DetailScopesから取り出して、CollectionViewSource
AccountDetail のコンボ ボックスに直接バインドすると、問題はなくなりました。ただし、フィルタリングを適用していて、フィルタリングを に適用できないため、 内で必要です。ItemsSource
DataTemplate
CollectionViewSource
ObjectDataProvider
誰かがなぜこれが起こっているのか、実際にどのように接続すればよいのか説明してもらえますCollectionViewSource
かObjectDataProvider
? ありがとうございました。
c# - コード ビハインドのメソッドで x:Name をパラメーターとして使用して、ボタンの IsEnabled/Visibility プロパティをバインドする
コントロール名を、IsEnabled プロパティのブール値を返すセキュリティ オブジェクトのメソッドと、その Visibility (Collapsed、Hidden、または Visible) を返す別のメソッドに渡す必要があります。これらは両方とも、許可のためにチェックする必要があります。
ObjectDataProvider を使用してみましたが、すべての例は、パラメーターのテキスト ボックスからのユーザー入力のみを示しています。特に、ボタンの x:Name プロパティに基づいてメソッドにコントロール名を渡す必要があります。
この問題を処理する最も簡単で効率的な方法は何ですか。前もって感謝します。
更新: コンバーターを使用しようとしていますが、これは私が思いついた変換方法です:
以下は xaml です。
wpf - TreeView、ObjectDataProvider、HierarchicalDataTemplate、xsd2Code が何も表示されない
xsd2code で作成されたオブジェクト階層があります。オブジェクト階層は、タイプ Project のルート オブジェクトで構成されます。このルート オブジェクトには、folder という名前の Folder の ObservableCollection が含まれています。これは、folder という名前の Folder と file という名前の File の ObservableCollection を含む再帰オブジェクトです。このオブジェクト階層を ObjectDataProvider を介して TreeView にバインドし、 HierarchicalDataTemplate 定義による表示
ObjectDataProvider と DataTemplates は、このように App.xaml にマージされたリソースで定義されます
TreeView は次のように定義されます
グローバル処理は次のとおりです。Xml ファイルからオブジェクト階層を読み込みます (xsd2code 機能)。デバッグでわかるように、オブジェクト階層はきれいです。次に、次のようなコードでオブジェクト階層を ObjectDataProvider にバインドします。
さて、TreeView には何も表示されません。何が欠けていますか?
c# - ObjectDataProvider をビューのプロパティに設定する
WPF アプリケーションに MVP パターンを使用しています。ビューのコンストラクターで設定する Presenter オブジェクトに ObjectDataProvider を設定したいと思います。次に、コントロールをプレゼンターのプロパティにバインドしたいと思います。
ObjectDataProvider を次のように定義しました。
と
残念ながら、ObjectDataProvider が正しく設定されていないようです。ComboBox が空で、this.Resources["pres"] を調べると、次のようになります。
View の MyPresenter プロパティを使用するには、ObjectDataProvider を正しく定義するにはどうすればよいですか?
wpf - wpf ObjectDataProvider メソッド パラメーターは、コンボボックスの選択した値にバインドします
私は WPF バインディングの問題に取り組んでいます。2 つの可能な値でフィルター処理されたデータグリッドを表示するユーザー コントロールを作成しています。最初の値はテキスト ボックスで設定され、2 番目の値はコンボ ボックスで設定されます。ObjectDataProvider を使用して 2 つのパラメーターを持つメソッドをマップしています。テキスト ボックスとコンボ ボックスはこれら 2 つのパラメーターを設定する必要があります。これがコードです。
どうしたの?textbox プロパティをバインドするだけですべて正常に動作しますが、Combobox.SeletedValue プロパティを最初のメソッド パラメーターにバインドしようとすると、例外がスローされます (wpf エンジンによってサイレントに処理されます)。
System.Windows.Data エラー: 35: ObjectDataProvider: 型のメソッドを呼び出そうとしましたが失敗しました。Method='GetCorse'; Type='HorseDataProvider'; Error='パラメーター シグネチャが一致するメソッドが見つかりませんでした。' MissingMethodException:'System.MissingMethodException: メソッド 'VisualHorse.HorseDataProvider.GetCorse' が見つかりません。System.RuntimeType.InvokeMember (文字列名、BindingFlags bindingFlags、バインダー バインダー、オブジェクト ターゲット、Object[] providedArgs、ParameterModifier[] 修飾子、CultureInfo カルチャ、String[] namedParams) で System.Windows.Data.ObjectDataProvider.InvokeMethodOnInstance (Exception & e )'
どんな助けでもいただければ幸いです
wpf - プロキシへの WPF バインディング
独自のカスタム更新通知を実装するコレクション クラスがいくつかあります。INotifyCollectionChanged
これらの通知をプロキシ クラスの実装に変換するのは非常に簡単です。
INotifyPropertyChanged
すでに処理されています。この質問は、コレクション プロキシに関するものです。
そこで、私が探しているのは、XAML から比較的使いやすいプロキシを作成する方法です。これは特にサブコレクションに当てはまります。カスタム コレクション クラスは、変更 (または派生) できないライブラリの一部です。また、コレクション型を互換性のあるものに置き換えることもできませんINotifyCollectionChanged
。これは、データ更新コードが制御できないためです。
SL でも機能するソリューションを希望しますが、厳密な要件ではありません。
これまでのところ、次のアプローチが実行可能であると考えています。
TypeDescriptionProvider
プロパティを追加するコレクション クラスの登録済みを定義しProxy
ます。これにより、Binding パスをプロキシにドットインすることができます。このソリューションは、XAML の観点からは最も簡単なようですが、SL とは互換性がありません。- プロキシを作成する値コンバーターを定義します。これは、XAML 側からのもう少しの作業で機能します。SLで使えるはずです。ただし、パスで複数の値変換が必要な場合は、値コンバーターの結果を保持するために「中間」ビジュアル要素が必要になる場合があります。
を調べましObjectDataProvider
たが、このような状況では使用できないと思います(プロキシの作成方法は、コンテナ内のオブジェクトのタイプでジェネリックでなければなりません)。
これら2つのアプローチのどちらが優れているか、または他のアプローチに関する推奨事項はありますか?