一尘不染

在运行时加载XAML?

c#

首先介绍一些背景知识:我正在开发一个应用程序,并且试图遵循MVVM约定编写它。我想做的一件事就是能够为应用程序提供与我的应用程序不同的“外观”。相同的应用程序,但为一个客户端显示一个“皮肤”,为另一个客户端显示一个不同的“皮肤”。

因此,我的问题是:
1.是否可以在运行时加载xaml文件并将其“分配”到我的应用程序?
2. xaml文件可以是位于其他文件夹中的外部文件吗?
3.应用程序可以轻松地或仅在启动时切换到另一个xaml文件吗?

那么我应该从哪里开始寻找有关此方面的信息?哪些WPF方法(如果存在)可以处理此功能?

谢谢!

编辑:我想要做的“皮肤”的类型不仅仅是改变控件的外观。这个想法是拥有完全不同的UI。不同的按钮,不同的布局。Kinda喜欢如何为专家充分利用该应用程序的一个版本,而对于初学者则简化另一个版本。


阅读 270

收藏
2020-05-19

共1个答案

一尘不染

我认为使用XamlReader相当简单,试一下,自己没有尝试过,但我认为应该可以。

http://blogs.msdn.com/ashish/archive/2007/08/14/dynamically-loading-
xaml.aspx

2020-05-19