Silverlight-project-types
Silverlight-プロジェクトの種類
Visual Studioで新しいプロジェクトを作成すると、ダイアログボックスの右ペインに4種類のプロジェクトが表示されます。 彼らは-
- Silverlightアプリケーション
- Silverlightクラスライブラリ
- クラスライブラリ(ポータブル)
- Silverlightナビゲーションアプリケーション
- 最初の2つ、 Silverlight Application および Silverlight Class Library は、簡単です。 これらは、クラシックWindowsアプリケーションの世界のDLLの実行可能ファイルに類似しています。 どちらも、Silverlightアプリケーションの展開方法によりDLLを構築します。
- 概念的には、Silverlightアプリケーションプロジェクトは実行可能なプログラムをビルドし、クラスライブラリプロジェクトは他のアプリケーションに組み込むように設計されたライブラリをビルドします。
- 複数のアプリケーションの構築を計画していて、共通コードを再利用したい場合は、クラスライブラリを構築できます。 他の人がアプリケーションで使用するコントロールを販売することを計画している場合、再びライブラリを作成する必要があります。
- 他のプロジェクトのタイプは少しわかりにくいので、この章で後ほど詳しく説明します。
Silverlight Webアプリケーション
SilverlightアプリケーションはWebからダウンロードされるため、通常、Silverlightプロジェクトに関連付けられたWebプロジェクトがあります。 これらのプロジェクト間の関係を管理するために設計されたVisual Studioの機能がいくつかあります。
Silverlightアプリケーションプロジェクトの簡単な例をもう一度見てみましょう。
ステップ1 *- *Visual Studio を開きます。 [*ファイル]メニューをクリックし、[新規作成]をポイントして、[プロジェクト]をクリックします。
ステップ2 *-*新しいプロジェクト*ダイアログボックスが開きます。 *テンプレート*で、 Visual C#を選択し、 *Silverlight をクリックします。 右側のペインで、Silverlightアプリケーションを選択します。
プロジェクトを保存するには、プロジェクト名とハードドライブ上の場所を入力します。
Silverlightプロジェクト自体は、Silverlightコンテンツを構築するだけであり、そのコンテンツは、Webアプリケーション全体を構成する多くの資産の1つに過ぎません。
*OK* をクリックしてください。
ステップ3 *-[Silverlightアプリケーションをホストする]チェックボックスをオンにします。 デフォルトはASP.NET Webアプリケーションプロジェクトです。
- ステップ4 *-MS-Visual Studioは、SilverlightプロジェクトとASP.NET Webアプリケーションの2つのプロジェクトを作成しました。 次に、ASP.NET Webアプリケーションが必要です。 以下に示すように、これは[ソリューションエクスプローラー]ウィンドウで確認できます。
HTTPを介してコンテンツを提供できるものは何でも実行できますが、これは Visual Studio であり、ASP.NET Webテクノロジーを理解しているため、それが私たちに与えるものです。
Silverlightが特定のサーバー側テクノロジに依存しないことを示すために、この .aspx ファイルを削除して、プレーンな静的HTMLファイルのみを残します。
- ステップ5 *-FirstExampleTestpage.aspxを右クリックします。 オプションのリストから、[削除]をクリックします。
ステップ6 *- *FirstExampleTestPagel を Start ページとして設定します。
*MainPage.xaml* ファイルは、Silverlightコンテンツのユーザーインターフェイスを定義します。 XAMLコードを直接記述することも、 *Toolbox* を使用してさまざまなUI要素をドラッグアンドドロップすることもできます。
ステップ7 *-以下に示すのは *MainPage.xaml の単純なコードで、 Button と TextBlock が StackPanel 内で定義されています。
<UserControl x:Class = "FirstExample.MainPage"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable = "d"
d:DesignHeight = "300" d:DesignWidth = "400">
<Grid x:Name = "LayoutRoot" Background = "White">
<StackPanel>
<TextBlock x:Name = "TextMessage" Text = "Hello World!"
Margin = "5"> </TextBlock>
<Button x:Name = "ClickMe" Click = "ClickMe_Click" Content = "Click
Me!" Margin = "5"> </Button>
</StackPanel>
</Grid>
</UserControl>
ステップ8 *-この例では、 *ClickMe_Click という名前のイベント処理メソッドを作成済みであることを前提としています。 MainPage.xaml.cs ファイルでは次のようになります。
using System.Windows;
using System.Windows.Controls;
namespace FirstExample {
public partial class MainPage : UserControl {
public MainPage() {
InitializeComponent();
}
private void ClickMe_Click(object sender, RoutedEventArgs e) {
TextMessage.Text = "Congratulations! you have created your
first Silverlight Applicatoin";
}
}
}
- ステップ9 *-インストールされている任意のブラウザーでSilverlightアプリケーションを実行できます。
- ステップ10 *-上記のコードをコンパイルして実行すると、次のWebページが表示されます。
Silverlightナビゲーションアプリケーション
Silverlightナビゲーションアプリケーションテンプレートは、通常のSilverlightアプリと同様のプロジェクトを構築します。 2つのプロジェクトタイプについて根本的な違いはありません。 ナビゲーションテンプレートには、自分で簡単に追加できるコードがいくつか含まれています。 名前が示すように、Silverlightアプリケーション内でのWebのようなナビゲーションをサポートしています。
ナビゲーションアプリケーションを作成しましょう。
ステップ1 *-*新しいプロジェクト*ダイアログボックスの右ペインから *Silverlight Navigation Application を選択します。
- ステップ2 *-Silverlight Webアプリケーションの設定に従ってください。
ステップ3 *- *OK ボタンをクリックします。 以下に示すウィンドウが開きます。
Silverlight Navigation App.Web
これらには通常、関連するWebプロジェクトがあるため、そのうちの1つがあります。 前に説明したように2つのプロジェクトを作成しますが、ご覧のとおり、デフォルトのユーザーインターフェイスは少し空白が少なくなっています。
ステップ4 *-ナビゲーションバーを含むアプリケーションクロームを提供します。 ソリューションには、いくつかの追加ファイルが含まれています。 この *Styles ファイルは、 Navigation バーのルックアンドフィールを定義します。 この Views フォルダーには、数ページとエラーを表示するウィンドウがあります。
ご覧のとおり、アプリケーションを実行すると、いくつかのプレースホルダーコンテンツを含むホームページが表示されます。
- ステップ5 *-[バージョン情報]ボタンをクリックすると、[バージョン情報]ページに移動します。
重要な部分は、ブラウザの[戻る]ボタンと[進む]ボタンを使用して手順をたどることができることです。
通常、これを行うと、Webブラウザーは1つのWebページから別のWebページに移動しますが、ここでは移動しません。 Silverlightアプリケーションは実際にはアンロードしません。実行を続け、異なるコンテンツを表示するだけです。
したがって、ブラウザの観点から見ると、実際にはすべてが1つのWebページにあります。 Silverlightは、ナビゲーションボタンでいくつかのトリックを実行して、ナビゲーション中にWebページがアンロードされないようにします。