gpt4 book ai didi

wpf - 如何在 WPF 中更改上下文

转载 作者:行者123 更新时间:2023-12-03 10:49:52 25 4
gpt4 key购买 nike

我正在使用 MVVM 开发我的第一个 WPF 应用程序,用于全屏显示某种信息亭。
我需要更改上下文(视频 View 、 TextView 、PowerPoint View )以响应异步事件。

我遇到了困难,因为我在 MVVM 中定义了以下数据上下文,但我还不能在它们之间切换:

<Window.Resources>
<DataTemplate DataType="{x:Type vm:VideoViewModel}">
<v:VideoView />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:PowerpointViewModel}">
<v:PowerpointView />
</DataTemplate>
</Window.Resources>

任何帮助将不胜感激,谢谢。

最佳答案

通常我有一个 ShellViewModel其中包含 CurrentPage包含当前页面的 ViewModel 的属性。在 XAML 中,我将绑定(bind)一个 ContentControl.ContentCurrentPage ,然后切换 View ,我只需将 CurrentPage 属性切换到任何 ViewModel 应该是当前的。

<ContentControl Content="{Binding CurrentPage}" />

更改页面命令:
void ChangePage(ViewModelBase page)
{
CurrentPage = page;
}

例如,见 this post我的

关于wpf - 如何在 WPF 中更改上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8309689/

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