gpt4 book ai didi

WPF 将视觉画笔的视觉对象绑定(bind)到不同的窗口

转载 作者:行者123 更新时间:2023-12-04 18:16:29 25 4
gpt4 key购买 nike

我的设置窗口中需要一个矩形来显示主窗口的缩小版本。这是我现在拥有的非工作代码。有可能做我想做的事吗?

<Rectangle.Fill>
<VisualBrush Stretch="Uniform" Visual="{Binding ElementName=local:MainWindow}" />
</Rectangle.Fill>

最佳答案

是的,但不是在纯 XAML 中,也不是使用 ElementName。相反,您需要将对主窗口的引用传递到您的设置窗口中。然后,您可以将 VisualBrush.Visual 绑定(bind)到该引用。

作为一个简化的示例,在创 build 置窗口时,您可以将其 DataContext 设置为主窗口:

// MainWindow.xaml.cs
SettingsWindow w = new SettingsWindow { DataContext = this };
w.Show();

然后 SettingsWindow 你可以访问 MainWindow 为 {Binding} (因为 MainWindow 现在是 SettingsWindow 的 DataContext,而 {Binding} 指的是 DataContext):
<!-- SettingsWindow.xaml -->
<Rectangle.Fill>
<VisualBrush Stretch="Uniform" Visual="{Binding}" />
</Rectangle.Fill>

在实践中,您可能不想将主窗口对象作为 DataContext 传递,因为这太生硬了,但希望这能给您带来想法。

关于WPF 将视觉画笔的视觉对象绑定(bind)到不同的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2573136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com