Readme for Visual Studio Support of Longhorn Projects
Covers: Visual Basic & Visual C# Projects
[If desired, right-click on Readme.html in Solution Explorer and choose View
in Browser]
Project Types & File Descriptions
Below is a list and details of seven Project Template types in our current Visual Studio support for Longhorn. To add additional Panes, Documents, and Windows to an Application, choose Project/Add New Item.
Longhorn Application
A project for creating an application with a Longhorn user interface
VB Project Filename |
Description |
C# Project Filename |
Window1.xaml |
Markup file defining the application’s primary window. |
Window1.xaml |
Window1.xaml.vb |
Window1.xaml.cs |
|
MyApp.xaml |
Markup file defining the application object and shared resources. |
MyApp.xaml |
MyApp.xaml.vb |
MyApp.xaml.cs |
|
PROJECTNAME.vbproj |
PROJECTNAME.csproj |
|
App.ico |
Application icon |
App.ico |
Longhorn Custom Control
A project for creating controls to use in Longhorn applications
VB Project Filename |
Description |
C# Project Filename |
CustomControl1.vb |
Code file defining a Class that inherits from Control. |
CustomControl1.vb |
PROJECTNAME.vbproj |
PROJECTNAME.csproj |
Longhorn Document Project
A project for creating a document deployed in a .container file
VB Project Filename |
Description |
C# Project Filename |
Document1.xaml |
Markup file defining the document’s primary content. |
Document1.xaml |
Document1.xaml.vb |
Document1.xaml.cs |
|
MyApp.xaml |
Markup file defining the application object and shared resources. |
MyApp.xaml |
MyApp.xaml.vb |
MyApp.xaml.cs |
|
PROJECTNAME.vbproj |
PROJECTNAME.csproj |
|
Doc.ico |
Document icon |
Doc.ico |
Longhorn Hosted Application
A project for creating an Application that runs hosted in the Browser
VB Project Filename |
Description |
C# Project Filename |
Pane1.xaml |
Markup file defining the application’s primary pane. |
Pane1.xaml |
Pane1.xaml.vb |
Pane1.xaml.cs |
|
Window1.xaml |
Markup file defining the application’s primary window. |
Window1.xaml |
Window1.xaml.vb |
Window1.xaml.cs |
|
MyApp.xaml |
Markup file defining the application object and shared resources. |
MyApp.xaml |
MyApp.xaml.vb |
MyApp.xaml.cs |
|
PROJECTNAME.vbproj |
PROJECTNAME.csproj |
|
App.ico |
Application icon |
App.ico |
Longhorn Navigation Application
A project for creating an application with that uses Navigation in the root of its Window
VB Project Filename |
Description |
C# Project Filename |
Pane1.xaml |
Markup file defining the application’s primary pane. |
Pane1.xaml |
Pane1.xaml.vb |
Pane1.xaml.cs |
|
Window1.xaml |
Markup file defining the application’s primary window. |
Window1.xaml |
Window1.xaml.vb |
Window1.xaml.cs |
|
MyApp.xaml |
Markup file defining the application object and shared resources. |
MyApp.xaml |
MyApp.xaml.vb |
MyApp.xaml.cs |
|
PROJECTNAME.vbproj |
PROJECTNAME.csproj |
|
App.ico |
Application icon |
App.ico |
Images\*.* |
Images used in Window1.xaml. (A workaround.) |
Images\*.* |
Window1.xaml has a SourceUri attribute on its WindowNavigationContainer element. This attribute determines the start page for the window.
To navigate to a 2nd page, you can use a <HyperLink NavigateUri=”Pane2.xaml”>Link Text </HyperLink> in Pane1.xaml
Longhorn Screen Saver
A project for creating a trustworthy ScreenSaver Application
VB Project Filename |
Description |
C# Project Filename |
Pane1.xaml |
Markup file defining the screensaver’s primary pane. |
Pane1.xaml |
Pane1.xaml.vb |
Pane1.xaml.cs |
|
MyApp.xaml |
Markup file defining the application object and shared resources. |
MyApp.xaml |
MyApp.xaml.vb |
MyApp.xaml.cs |
|
PROJECTNAME.vbproj |
PROJECTNAME.csproj |
|
App.ico |
Application icon |
App.ico |
TrustInfo.xml |
XML file specifying the permissions the screen saver requires. |
TrustInfo.xml |
Longhorn Tile
A project for creating a Sidebar tile
VB Project Filename |
Description |
C# Project Filename |
TileForeground.xaml |
Markup file defining the tile’s rendering. |
TileForeground.xaml |
TileForeground.xaml.cs |
TileForeground.xaml.cs |
|
MyTile.cs |
Code file defining the Tile class. All code behind files can reference this class with “Tile”. |
MyTile.cs |
Flyout.xaml |
Markup file defining the tile’s flyout. |
Flyout.xaml |
Flyout.xaml.cs |
Flyout.xaml.cs |
|
Properties.xaml |
Markup file defining the tile’s property page. |
Properties.xaml |
Properties.xaml.cs |
Properties.xaml.cs |
|
TileBackground.xaml |
Markup file defining a non-interactive layer behind TileForeground.xaml. |
TileBackground.xaml |
TileBackground.xaml.cs |
TileBackground.xaml.cs |
|
PROJECTNAME.vbproj |
PROJECTNAME.csproj |
Registering Tiles to Run in the Longhorn Sidebar
Un-registering Longhorn Sidebar Tiles
VB & C#: Open a Longhorn Build Environment commandline, change to the Tile project’s directory, type “msbuild /t:unregister”
File Type |
Description |
.xaml files are XML files that specify a hierarchy of elements, other objects, property settings, and event hooks.
Editing a Markup File in Visual Studio's XML Editor
The intellisense is generated based on the information in the Xaml schema file: xaml.xsd (stored in Program Files\Microsoft Visual Studio .Net Whidbey\common7\packages\schema\xml). The intellisense experience you will get currently is not perfect. If you have a sample that has some intellisense errors based on the schema, it may still build.
Due to the incomplete support, if you’d like to disable intellisense in a markup
file, add a “/” to the end of the xmlns, so that the schema targetNamespace doesn’t
match.
Elements with IDs |
|
Codebehind files are code files that define the startup & interaction logic for a Markup File. In VB and C#, these files are partial classes that in conjunction with the compiled output of the markup file, form a complete definition of a new class. Each ID specified in a markup file will end up defining a field in the class, so you may refer to elements by ID inside of event handlers. |
|
Project files are MsBuild project files which contain:
Building on a Command Line
Running the project from a Command Line
Modifying Project Properties |