iluxa1810 Asked:2022-03-18 18:25:47 +0800 CST2022-03-18 18:25:47 +0800 CST 2022-03-18 18:25:47 +0800 CST 一个窗口内有 2 个虚拟机 772 假设我有一个类,其中包含描述配置的 2 个对象: 服务器端配置 客户端配置 每个类都有自己的字段等。 是的,我可以将所有这些都塞到一个 VM 中,但恕我直言,它会很大,我想将它分成 2 个 VM,但是这样配置就在一个窗口内。 如何解决这个问题?WPF 中是否有支持不同上下文的控件? c# 1 个回答 Voted Best Answer VladD 2022-03-18T22:03:01+08:002022-03-18T22:03:01+08:00 有什么问题? 你最终得到一个像这样的虚拟机: class MainVM : VM { public ServerConfigurationVM ServerConfiguration { get; } public ClientConfigurationVM ClientConfiguration { get; } // остальное } 这是设置窗口的 XAML: <Window x:Class="Test.SettingsWindow" ...> <Grid> <ServerConfigurationControl DataContext="{Binding ServerConfiguration}"/> <ClientConfigurationControl DataContext="{Binding ClientConfiguration}"/> </Grid> </Window> 如果您不想UserControl为服务器和客户端配置编写单独的 's,您可以重新映射DataContext子树: <Window x:Class="Test.SettingsWindow" ...> <Grid> <Grid DataContext="{Binding ServerConfiguration}"> <!-- тут UI для показа конфигурации сервера --> </Grid> ... </Grid> </Window>
有什么问题?
你最终得到一个像这样的虚拟机:
这是设置窗口的 XAML:
如果您不想
UserControl
为服务器和客户端配置编写单独的 's,您可以重新映射DataContext
子树: