我正在尝试在WPF中创建我的hello world windows应用程序。
要运行此窗口,我应该做些什么?
Class1.xaml
<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid> </Grid>
</Window>App.xaml
<Application x:Class="App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Class1.xaml" >
<Application.Resources>
</Application.Resources>
</Application>Program.cs
class Program
{
[STAThread]
public static void Main()
{
new App().Run();
}
}我已经创建了一个空的sln并添加了这三个文件。我还添加了WindowsBase,PresentationBase,PresentationFramework引用。
但是应用程序没有运行。
有什么问题吗?
发布于 2009-07-18 18:02:24
如果你打算使用Main方法,你的App.xaml文件将被忽略。
仅当将其生成操作设置为ApplicationDefinition时,才使用App.xaml。执行此操作时,您会注意到出现编译器错误,因为您的程序中有两个入口点--因此您必须丢失Main方法。
如果你想保留你的Main方法,你可以。不要更改App.xaml上的构建操作(实际上,我认为您可以将其删除),并执行以下操作:
[STAThread]
public static void Main()
{
App app = new App();
app.StartupUri = new System.Uri("/Project1;component/Class1.xaml", System.UriKind.Relative);
app.Run();
}将/Project1替换为您的命名空间。
发布于 2009-07-18 17:26:12
创建一个新的WPF应用程序是可行的,但我可能知道一种修复它的方法。
您的项目文件当前可能有一个如下所示的部分:
<Page Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>您需要将其更改为使用ApplicationDefinition而不是Page,如下所示:
<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>这样,当您运行应用程序时,您的项目应该知道实际要启动什么。
我提出的解决方案是VS2010解决方案,但我认为在VS2008中也是一样的。
发布于 2009-07-18 16:57:34
使用WPF项目?
https://stackoverflow.com/questions/1147994
复制相似问题