メインウィンドウの縮小版を表示するには、設定ウィンドウに長方形が必要です。これは私が今持っている機能していないコードです。私がやりたいことをすることは可能ですか?
<Rectangle.Fill>
<VisualBrush Stretch="Uniform" Visual="{Binding ElementName=local:MainWindow}" />
</Rectangle.Fill>
メインウィンドウの縮小版を表示するには、設定ウィンドウに長方形が必要です。これは私が今持っている機能していないコードです。私がやりたいことをすることは可能ですか?
<Rectangle.Fill>
<VisualBrush Stretch="Uniform" Visual="{Binding ElementName=local:MainWindow}" />
</Rectangle.Fill>
はい。ただし、純粋なXAMLではなく、ElementNameを使用していません。代わりに、メインウィンドウへの参照を設定ウィンドウに渡す必要があります。次に、VisualBrush.Visualをその参照にバインドできます。
簡単な例として、設定ウィンドウを作成するときに、そのDataContextをメインウィンドウに設定できます。
// MainWindow.xaml.cs
SettingsWindow w = new SettingsWindow { DataContext = this };
w.Show();
次に、メインウィンドウにアクセスできる設定ウィンドウ{Binding}
(メインウィンドウが設定ウィンドウのDataContextになり{Binding}
、DataContextを参照するため):
<!-- SettingsWindow.xaml -->
<Rectangle.Fill>
<VisualBrush Stretch="Uniform" Visual="{Binding}" />
</Rectangle.Fill>
実際には、メインウィンドウオブジェクトをDataContextとして渡したくない場合があります。これは、インストルメントが鈍すぎるためですが、これでアイデアが得られることを願っています。