問題タブ [relativesource]
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# - 抽象ユーザーコントロールから継承するコントロールに依存関係プロパティを設定する方法は?
抽象化された UserControl (myAbstractControl) から継承する Control (mySubControl) があります。mySubControl 内で依存関係プロパティを設定しようとすると、実行時に常に次のようなエラーが発生します。
「System.Windows.Data エラー: 40: BindingExpression パス エラー: 'myPropertyRegistrationName' プロパティが見つかりません ....」
どういうわけか mySubControl の DataContext が台無しになると思います。
相対バインディングを使用しようとしましたが、修正されません。
誰でも私を助けることができますか?
どうも
wpf - Wpf RelativeSource Binding を使用すると Blendability が壊れる
次のシナリオがあります... ItemsControl を含むウィンドウがあります。Window の DataContext に ViewModel を指定します。ItemControl の ItemTemplate に DataTemplate を指定します。DataTemplate では ComboBox を使用し、ComboBox の ItemsSource では、それを含む Window の DataContext への RelativeSource Binding を使用します。ランタイム中はすべて正常に動作し、Binding は正しく解決されますが、デザインタイム中、Cider は ItemSource がバインドされているウィンドウのビューモデルを取得できません。
これが私のコードです(上部のxml名前空間宣言を省略しましたが、私のコードには含まれています):
したがって、基本的に上記のコードから、Path=DataContext.AvailableGenres は設計時には解決できませんが、実行時には正しく解決されます。
私が何か間違ったことをしているのか、それとも設計時に RelativeSources へのバインディングを解決できないという Wpf xaml パーサーの問題なのか、誰かが知っていますか?
c# - listItem テンプレートからリスト自体のプロパティにバインドする方法は?
リスト(リストA)と整数(int A)を含むクラス(クラスA)があります。また、アイテムソースが「リストA」にバインドされているリストビューもあります。リストアイテムには、アイテムのコンテンツを示すテンプレートがあります (そのプロパティにバインドされています)。テンプレートで「int A」を使用して表示することも必要です。
テンプレート内の何か (そのデータコンテキストは listItem です) を、リストを含むクラス (またはリスト自体) にバインドするにはどうすればよいですか?
ありがとう、ヨス。
wpf - データ コンテキストでない場合にウィンドウ ビュー モデル プロパティにバインドする
現在のデータ コンテキストは SomeViewModel ですが、メイン ウィンドウのビュー モデルのプロパティにバインドする必要があります。バインディングで Source または RelativeSource を指定する必要があると推測していますが、それを管理する方法がよくわかりません。MainWindowViewModel は、メイン ウィンドウのデータ コンテキストです (パブリック メンバーでもあります)。どんなガイダンスも大歓迎です!
wpf - 最初と同じように2番目のリストビューで選択されています
2 つのリストビューを含むグリッドを取得しました。リストビューは同じです(アイテムソースのみが他のアイテムと異なります)、1 つのラベルと別のグリッドを持つ datatemplate = Stackpanel です。ここで、項目が選択されている場合 (ラベル) にのみグリッド (Datatemplate 内にあるスタックパネル内) が表示されるようにします。このコードで試してみました( Listview のデータテンプレートに入れました:
これはうまくいきます!ただし、2番目のリストビュー(および2番目のみ)でアイテムを選択すると、最初のリストビューにもそのグリッド(同じ「アイテムレベル」)が表示されます)(たとえば、2番目のリストビューで3番目のアイテム(ラベル)、グリッドは 2 番目のリストビューの 3 番目のアイテムに表示されますが、3 番目のアイテム グリッドは最初のリストビューに表示されます!!!!)
これは相対的なソースに関係していると思いますが、答えが見つかりませんでした。皆さんが私を助けてくれることを願っています。
c# - チェック可能なMenuItemを親ウィンドウの最上位(常に最上位)プロパティにバインドする際の問題
ここでどこが間違っているのかわかりません。うまくいけば、あなたの一人が助けることができます。
TabControlを含むウィンドウがあります。TabControlには、「常に最上位」の動作のチェック可能な項目を含むContextMenuがあります。このチェック可能なアイテムを、含まれているWindowのブール値のTopmostプロパティにバインドしたいと思います。
何をしても、バインディングが失敗し、デバッグ出力に「バインディングのソースが見つかりません」というエラーが表示されます。
(これらの抜粋は、実際のコードから大幅に簡略化されています。誤って関連するものを切り取っていないことを願っています。)
最初に私はこれを試しました:
それはうまくいきませんでした。MenuItemがウィンドウ「myWindow」内にあるためですか?RelativeSource Ancestorバインディングを使用する必要がありますか?
だから私はこれを試しました:
それもうまくいきませんでした。
だから今私は立ち往生しています。このバインディングを機能させるにはどうすればよいですか?
注:私のコードビハインドは、これらの要素に対して何もしていません。Window.DataContextなどを設定する必要がありますか?これにより、このウィンドウの他の部分が破損する可能性があります。
wpf - 祖先のデータ コンテキスト内のプロパティにバインドするにはどうすればよいですか?
以下に示すように定義された ItemsControl があります。基本的に、エディターのリスト (EditorList) があり、それぞれにハイパーリンクが必要です。ただし、私の開いているコマンド (OpenEditorCommand) プロパティは、エディターのリストと同じレベルにあります。コンテキストがリスト内の項目に設定されている場合、そのプロパティを参照するにはどうすればよいですか。RelativeSource メソッドを使用してみましたが、複雑すぎて理解できません。私は正しい軌道に乗っていますか?
wpf - 祖先 StackPanel DockPanel.Dock へのバインド
DockPanel の左または右にドッキングできる StackPanel があります。StackPanel 内のアイテムは、祖先と同じように同じ側にドッキングする必要があります。テストのために、Visual Tree で先祖の名前を取得しますが、Docking.Dock にバインドする方法がわかりません。前もって感謝します。
wpf - ビジュアル ツリーを介して ContextMenu menuitem からコントロールにアクセスする方法は?
かなり話題になっているようですが…
次の XAML があります。
は、MyCommandObject
その から動的コマンドを公開するコントロールDataContext
です。あなたは次に何が来るか知っています。:)
基本的に、ボタン コマンドは完全に機能します。クリックすると、DoAction
コマンドMyCommandObject
が完全に実行されます。ただし、メニュー項目のコマンドは実行されません。コントロールのビジュアル ツリーをトラバースできるようにコンテキスト メニューdatacontext
を設定するなど、さまざまなトリックを試しましたが、何もしていません。placementTarget
RelativeSource
これを機能させるには、とルーンの特定の調整がCommandTarget
必要ですか?
wpf - 相対ソースによるバインディング コンテキスト
私の DataTemplate (ClosableTabItemTemplate) を Relative Source で HeaderedContentControl の Workspaces DataContext にバインドしたいと思います。残念ながらうまくいきませんか?何か案は?
ところで: 次のコマンド ライン エラーが発生します: System.Windows.Data Error: 40 : BindingExpression path error: 'DisplayName' プロパティが 'object' ''AllUserView' (Name='')' に見つかりません。BindingExpression:Path=DataContext.DisplayName; DataItem='TabItem' (Name=''); ターゲット要素は 'ContentPresenter' (Name='') です。ターゲット プロパティは「コンテンツ」(タイプ「オブジェクト」)
シア・マイケル