我们知道,我们可以通过将属性StartupUri
设置为以下代码来指定要启动的视图。
<Application x:Class="SomeClass"
xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml"
>
</Application>
我的问题:我们可以为视图名称输入静态字符串值,即。 MainWindow.xaml
?
我尝试了下面的代码,但它不起作用。如果你知道如何,请分享。谢谢!
<Application x:Class="Demo.WPFSkill.App"
xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyPublicStaticClassNamespace"
StartupUri="{x:Static Member=local:MyPublicStaticClass.AStaticValue}"
>
</Application>
修改 我的目的:输入正确的名称以不依赖于字符串值的方式启动应用程序。
感谢mzabsky
,我认为我最好在后面的代码中编写代码。
public partial class App : Application
{
public App()
{
var mainWindow = new MainWindow();
mainWindow.Show();
}
}
希望这有用!
答案 0 :(得分:2)
您可以从XAML中删除StartupUri参数,并从C#代码中的App类手动打开窗口。
编辑:
示例(假设静态值是主窗口类的类型名称):
public partial class App : Application
{
public App()
{
Window window = (Window) Activator.CreateInstance(Assembly.GetExecutingAssembly.GetType(MyPublicStaticClass.AStaticValue));
window.Show();
}
}