私はウィンドウ内でホストされている知っている、(私のXAMLファイルのルート要素は、「ユーザーコントロール」です)。データバインディングを使用してWindowのプロパティにアクセスするにはどうすればよいですか?単に をするのでしょうか?私は現在、WPFユーザーコントロール内に働いています
<Binding RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type Window}}" Path="..." />
が動作しない
理由は誰でも知っていますか?私が受け取るエラーメッセージは次のとおりです。
System.Windows.Data警告:4:参照 'RelativeSource FindAncestor、AncestorType =' System.Windows.Window '、AncestorLevel =' 1 'でバインディングのソースを見つけることができません。
編集:私はArsenMkrtのアプローチのバリエーションを使用したので、彼の答えを受け入れました。しかし、私はFindAncestorは「ただ働き」しない理由を見つけることにまだ興味があります。
あなたは彼の答えが異なれば、実際に何を投稿することができますか? – Miles
MVVMパターンのコンテキストでこの問題の解決策を探していたことに注意してください。私がバインドしたいウィンドウのプロパティは、実際にはウィンドウのViewModelのプロパティでした。 – user200783
ArsenMkrtは、UserControlにプロパティを作成してバインドし、次にこれを(XAMLでは)このプロパティをWindowの望ましいプロパティにバインドすることを提案しました。しかし、MVVMパターンでは、UserControlはXAMLには登場しなかったので、2番目の部分は不可能でした。 – user200783