問題タブ [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.
silverlight - RelativeSource および FindAncestor を介してツリーに到達し、依存関係プロパティを変更する
今日何か新しいことを学びたいと思っており、誰かが XAML だけでこれを達成するエレガントな方法を持っていることを願っています。
したがって、概念については、次の例を見てください。
これは明らかに機能しません (期待もされていませんでした) が、... それは私が達成したいことのコンセプトを伝えています。実行時にツリーに到達して、実行時に祖先の依存関係を操作するが、それらが 1 つのビューにまとめられている別々の UserControl にある可能性がある場合でも、要素を直接ターゲットにすることはできません。
Loaded イベントで Storyboard をスローして、DoubleAnimation やその他の試みでプロパティを変更しようとしましたが、これまでのところ理解できる喜びはありませんが、とにかくスキルセットを改善するという名前だけです。私は純粋に XAML を使用してそれを達成しようとしていますが、これは、別のペアの目で別のルートを提供できるものの 1 つに過ぎないと確信しています。
c# - RelativeSource バインディングが解決しない
TreeView に ContextMenu があります
ContextMenuItem の Command を ViewModel の RelayCommand にバインドしたいのですが、あらゆる種類の RelativeSource バインディングを試しましたが、何もうまくいかないようです...
RelativeSource バインディングはどのように構成すればよいですか?
次のようなバインディングエラーが発生します
参照 'RelativeSource FindAncestor、AncestorType='System.Windows.Controls.TreeView'、AncestorLevel='1'' でバインディングのソースが見つかりません。BindingExpression:Path=DataContext.ExcludeSeasonCommand; DataItem=null; ターゲット要素は 'MenuItem' (Name='') です。ターゲット プロパティは 'Command' (タイプ 'ICommand') です。
wpf - スタイルでバインディングrelativesourceを使用する方法
デフォルトのスタイルを使用する
できます。しかし、私の場合はカスタマイズする必要があるTabItem
ので、使用しました
問題は、Header
テキストが表示されないことです。何か案は?
wpf - RelativeSource BindingExpression エラー
次のように、ViewModel クラスの 1 つにWPF を使用してRelativeSource
Binding
います。DataTemplate
ルート ViewModel にViewModelA
は、この ViewModel のインスタンスがパブリック プロパティとしてありDataTemplate
、次のようにそのためのもあります。
ご覧のとおり、ViewModelB
トリガーされるVisible
かHidden
、 on のプロパティに基づいて、ビューにいくつかのものが必要ViewModelA
です。
このアプローチはうまく機能します。
ただし、ViewModelA
それ自体は にも示されていContentPresenter
ます。この内容を変更するとContentPresenter
(例: にViewModelC
)、デバッグ ログに次のようなバインド例外が表示されます。
Binding
ここでは、実際のビューが破棄される前に DataContext が更新されると推測しています。この動作を修正するにはどうすればよいですか?
c# - DataTemplate 内のグリッドの高さを設定する方法
はの内部DataTemplate
で使用されます。UserControl は、stackpanel 内で複数回追加されます。(ちょっと)ItemsControl
UserControl
stackpanel に含まれる子の数を特定できる必要があります。このモードを使えば可能FindAncestor
だと思っていたのですが、残念ながらあなたの助けが必要です。
XAML ロジックは次のとおりです。
したがって、基本的に、スタックパネルに追加された UserControls の数を知り、この量の子を使用して DataTemplate 内のグリッドの高さを計算できるようにしたいと考えています。
FindAncestor 相対ソースは、Children が相対コンテキストでサポートされていないというエラーを表示しています。
wpf - 相対ソースのプロパティにバインドすると、メインウィンドウ + Catel に移動します
次のxamlコードがあります
内部ビューの Visibility プロパティをバインドしようとすると
親に、メインウィンドウのデータコンテキストまでずっと送ってくれます。
親は、メイン ウィンドウ内の contentControl に読み込まれます。
親ユーザー コントロールのデータ コンテキストにバインドできないのはなぜですか?