SPREAD for WPF 4.0J - GcSpreadGrid
設定方法(ドロップダウンカレンダー)
MESCIUS SPREAD for WPF 4.0J > 開発者ガイド > セル型 > 日付時刻型セル > ドロップダウンカレンダー > 設定方法(ドロップダウンカレンダー)

ドロップダウンカレンダーの機能を使用するには、ドロップダウンカレンダーを表す GcDropDownCalendar コントロールのスタイルを設定します。

ここで言う「スタイル」は WPF のスタイルです。XAML で記述します。

ドロップダウンカレンダーにスタイルを設定するには、次の2つの方法があります。

それぞれの方法について説明します。

スタイルをキーで参照

GcDropDownCalendar コントロールのスタイルを定義し x:Key 属性でキーを設定します。そして、日付時刻型セルの DropDownCalendarStyle プロパティでキーを指定してスタイルを参照します。

次のサンプルコードは、ドロップダウンカレンダーのヘッダ テキストを和暦で表示します。

xaml
コードのコピー
<sg:GcSpreadGrid Name="gcSpreadGrid1">
    <sg:GcSpreadGrid.Resources>
        <Style TargetType="sg:GcDropDownCalendar" x:Key="MyCalendarStyle">
            <Setter Property="YearMonthFormat" Value="ggge年M月"/>
        </Style>
    </sg:GcSpreadGrid.Resources>
    <sg:GcSpreadGrid.Columns>
        <sg:Column>
            <sg:Column.CellType>
                <sg:DateTimeCellType DropDownCalendarStyle="{StaticResource MyCalendarStyle}"/>
            </sg:Column.CellType>
        </sg:Column>
    </sg:GcSpreadGrid.Columns>
</sg:GcSpreadGrid>

次のサンプルコードは、コード ビハインドからスタイルを参照する例です。

C#
コードのコピー
DateTimeCellType dt = new DateTimeCellType();
dt.DropDownCalendarStyle = gcSpreadGrid1.FindResource("MyCalendarStyle") as Style;
gcSpreadGrid1.Columns[0].CellType = dt;
Visual Basic
コードのコピー
Dim dt As New DateTimeCellType()
dt.DropDownCalendarStyle = TryCast(gcSpreadGrid1.FindResource("MyCalendarStyle"), Style)
gcSpreadGrid1.Columns(0).CellType = dt

スタイルを暗黙的に適用

DropDownCalendarEditElement のスタイルを x:Key 属性なしで定義します。この場合、スタイルを定義したリソースの対象範囲内のすべての日付時刻型セルにスタイルが暗黙的に適用されます。

次のサンプルコードは、ドロップダウンカレンダーのヘッダ テキストを和暦で表示します。この設定は、GcSpreadGrid コントロール内のすべての日付時刻型セルに対して有効です。

xaml
コードのコピー
<sg:GcSpreadGrid Name="gcSpreadGrid1">
    <sg:GcSpreadGrid.Resources>
        <Style TargetType="sg:DropDownCalendarEditElement">
            <Setter Property="YearMonthFormat" Value="ggge年M月"/>
        </Style>
    </sg:GcSpreadGrid.Resources>
    <sg:GcSpreadGrid.Columns>
        <sg:Column>
            <sg:Column.CellType>
                <sg:DateTimeCellType/>
            </sg:Column.CellType>
        </sg:Column>
    </sg:GcSpreadGrid.Columns>
</sg:GcSpreadGrid>
関連トピック