C1Scheduler コントロールを Blend プロジェクトに追加し、データソースに連結できるようになりました。
Microsoft Expression Blend 4 を開き、メニューから[ファイル]→[プロジェクト/ソリューションを開く]を選択して、Visual Studio 2010で作成したプロジェクト(.sln)を開きます。
[プロジェクト]パネルの Page1.xaml をダブルクリックしてページを開き、必要に応じて、[デザイン]タブをクリックしてデザインビューにアクセスします。
C1Scheduler コントロールをページに追加します。Visual Studio 2010でプロジェクトを作成したときに C1.WPF.C1Schedule アセンブリへの参照を既に追加しているので、必要な作業は、[アセット]パネルから C1Scheduler を追加するだけです。
Blend の[ツール]パネルにある[アセット]ボタンをクリックします。
[アセット]パネルで、[カテゴリ]タブをクリックします。
C1Scheduler を選択します。このコンポーネントは、[ツール]パネルの[アセット]ボタンの下に表示されます。
[ツール]パネルの[C1Scheduler]ボタンをダブルクリックして、ページに追加します。
[XAML]タブをクリックして XAML ビューに切り替えます。
Page タグ内の名前空間のリストに次の XAML コードを追加して、CLR 名前空間を作成します。clr-namespace の値には、Visual Studio 2010プロジェクトの名前を使用します。
XAML は、次のようになります。
XAML |
コードのコピー
|
---|---|
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="MYProjectName.Page1" Title="Page1" xmlns:c1sched="http://schemas.componentone.com/wpf/Schedule" x:Class=”WpfScheduleQuickStart.Page1” xmlns:local="clr-namespace:MYProjectName"> |
[プロジェクト]パネルの Page1.xaml を右クリックし、[起動]を選択します。これで、Page1 が最初のウィンドウに設定されます。
[プロジェクト]→[プロジェクトのビルド]を選択してプロジェクトを実行します。
引き続き XAML ビューで、上の XAML の直後に次の XAML を入力して、ScheduleDataSet をリソースとして追加します。
XAML |
コードのコピー
|
---|---|
<Page.Resources>
<local:ScheduleDataSet x:Key="dataSet" />
</Page.Resources>
|
Blend プロジェクトで、[デザイン]タブをクリックして Page1.xaml のデザインビューに戻ります。
プロジェクトの Page1.xaml の C1Scheduler コントロールを選択します。
[プロパティ]パネルの[Data]で、[DataStorage]省略符ボタンをクリックします。[Data Source settings]ダイアログボックスが表示されます。
[DataSource] プロパティの隣にある [詳細オプション] ボタンをクリックし、[ローカルリソース]を選択し、[dataSet]をオンにします。このプロパティが ScheduleDataSet に設定されます。
DataMember プロパティの隣に「Appointments」と入力します。C1Scheduler が Appointments テーブルにマップされ、そのデータに基づいてスケジュールに値が挿入されます。
次に、プロパティと Appointments テーブルの対応するデータフィールドとのマッピングを設定します。各[Property Mappings]項目に次のテキストを入力します。
?プロパティ | テキスト |
---|---|
Body | Body |
End | End |
Location | Location |
Start | Start |
Subject | Subject |
AppointmentProperties | Properties |
IdMapping | Id |
IndexMapping |
[OK]をクリックして、[Data Source settings]ダイアログボックスを閉じます。データベースは Appointment Storageにマップされました。マップするための XAML コードは、次のようになります。
XAML |
コードのコピー
|
---|---|
<c1:C1Scheduler HorizontalAlignment="Left" Height="400" VerticalAlignment="Top" Width="480"> <c1sched:NestedPropertySetter PropertyName="DataStorage.AppointmentStorage.DataMember" Value="Appointments"/> <c1:NestedPropertySetter PropertyName="DataStorage.AppointmentStorage.DataSource" Value="{DynamicResource dataSet}"/> <c1:NestedPropertySetter PropertyName="DataStorage.AppointmentStorage.Mappings.Body.MappingName" Value="Body"/> <c1:NestedPropertySetter PropertyName="DataStorage.AppointmentStorage.Mappings.End.MappingName" Value="End"/> <c1:NestedPropertySetter PropertyName="DataStorage.AppointmentStorage.Mappings.Location.MappingName" Value="Location"/> <c1:NestedPropertySetter PropertyName="DataStorage.AppointmentStorage.Mappings.Start.MappingName" Value="Start"/> <c1:NestedPropertySetter PropertyName="DataStorage.AppointmentStorage.Mappings.Subject.MappingName" Value="Subject"/> <c1:NestedPropertySetter PropertyName="DataStorage.AppointmentStorage.Mappings.AppointmentProperties.MappingName" Value="Properties"/> <c1:NestedPropertySetter PropertyName="DataStorage.AppointmentStorage.Mappings.IdMapping.MappingName" Value="Id"/> <c1:C1Scheduler> |
C1Scheduler をデータソースに連結することに成功しました。これでスケジュールをカスタマイズできます。