Share via


How to: Create a Sample Project File for a Windows Presentation Foundation Standalone Navigation Application

This example project file is for a Windows Presentation Foundation (WPF) standalone navigation application, with an application definition, App, that is configured to automatically open a page, HomePage, which is defined with Extensible Application Markup Language (XAML) and code-behind. HomePage will be opened in a NavigationWindow. Key configuration details include:

  • OutputType. Set to winexe.

  • App.xaml. The application definition file being configured as an ApplicationDefinition element.

  • HomePage.xaml. A XAML file that is declared as a Page element.

  • HomePage.xaml.cs. A code-behind file that is declared as a Compile element.

You can reuse or modify this project file to suit your needs, as long as the files you reference are in the ___location you're referencing them from. Alternatively, you can have a project file for a standalone navigation application automatically generated for you by using the Windows Application (WPF) project template in Microsoft Visual Studio 2005, and replacing the default Window with a Page.

This project file is for a C# project and consequently includes the Microsoft.CSharp.targets Import element. Microsoft Visual Studio 2005 gives C# project files a .csproj extension. A Microsoft Visual Basic .NET created in Microsoft Visual Studio 2005 would typically have the .vbproj extension, and would include the Microsoft.VisualBasic.targets Import element.

Example

<Project DefaultTargets="Build" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <RootNamespace>WPFStandaloneNavigationApplication</RootNamespace>
    <AssemblyName>WPFStandaloneNavigationApplication</AssemblyName>
    <WarningLevel>4</WarningLevel>
    <OutputType>winexe</OutputType>
    <ApplicationVersion>1.0.0.*</ApplicationVersion>
    <BootstrapperEnabled>false</BootstrapperEnabled>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>.\bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>.\bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="WindowsBase" />
    <Reference Include="PresentationCore" />
    <Reference Include="PresentationFramework" />
  </ItemGroup>
  <ItemGroup>
    <ApplicationDefinition Include="App.xaml" />
    <Page Include="HomePage.xaml" />
    <Compile Include="HomePage.xaml.cs" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="Properties\" />
  </ItemGroup>
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" />
</Project>