xmlns:igDP="http://infragistics.com/DataPresenter" xmlns:igEditors="http://infragistics.com/Editors" xmlns:sys="clr-namespace:System;assembly=mscorlib"
xamCurrencyEditor コントロールの重要な機能は、xamDataGrid フィールド に組み込むことができることです。この機能によって、セルの値を修正する間にエンドユーザーはエディターの機能を十分に活用することができます。xamDataTimeEditor も日付/時間のマスクを使用して値を書式設定するため、より効果的に視覚化できます。
これらの手順に従って、xamDataGrid の Field に xamDateTimeEditor コントロールを表示します。
Microsoft® Windows® Presentation Foundation Window または Page プロジェクトを作成します。
以下の名前空間宣言を開始の Page タグまたは Window タグに配置します。これらの宣言によって、 xamDataGrid、xamDateTimeEditor を参照してタイプを定義することができます(つまり Int32、Boolean)。
XAML の場合:
xmlns:igDP="http://infragistics.com/DataPresenter" xmlns:igEditors="http://infragistics.com/Editors" xmlns:sys="clr-namespace:System;assembly=mscorlib"
XmlDataProvider を定義するリソース セクションを作成します。XmlDataProvider は Orders XML ファイルを参照します。Grid パネル内に以下の XAML を配置します。
XAML の場合:
<Grid.Resources> <XmlDataProvider Source="../Data/Orders.xml" x:Key="OrderData" XPath="/Orders" /> </Grid.Resources>
XamDataGrid のインスタンスを作成して名前を指定し、前述の手順で作成された XmlDataProvider に DataSource プロパティを設定します。
XAML の場合:
<igDP:XamDataGrid x:Name="XamDataGrid1" DataSource="{Binding Source={StaticResource OrderData}, XPath=Order}"> ... </igDP:XamDataGrid>
FieldLayoutSettings オブジェクトの AutoGenerateFields プロパティを False に設定します。前述の手順で作成されたタグの間に以下の XAML を配置します。
XAML の場合:
... <igDP:XamDataGrid.FieldLayoutSettings> <igDP:FieldLayoutSettings AutoGenerateFields="False" /> </igDP:XamDataGrid.FieldLayoutSettings> ...
Field のカスタム エディターを定義する時に、そのエディターのスタイルを指定するように EditorStyle プロパティを設定しなければならない場合があります。これによって、マスクなどのエディターにプロパティを設定することも可能です。以下の XAML は XamDateTimeEditor のインスタンスをターゲットとする Style を設定し、このスタイルを EditorStyle に設定します。エディターの Mask プロパティを設定するために setter を使用します。このコードを前述の手順のコードの下に配置します。
XAML の場合:
... <igDP:XamDataGrid.FieldLayouts> <igDP:FieldLayout> <igDP:FieldLayout.Fields> <igDP:Field Name="ProductName" /> <igDP:Field Name="Quantity" /> <igDP:Field Name="ShipAndHandle"/> <igDP:Field Name="ShipDate" BindingType="Unbound"> <igDP:Field.Settings> <igDP:FieldSettings EditAsType="{x:Type sys:DateTime}"> <igDP:FieldSettings.EditorStyle> <Style TargetType="{x:Type igEditors:XamDateTimeEditor}" > <Setter Property="Mask" Value="{}{date}" /> </Style> </igDP:FieldSettings.EditorStyle> </igDP:FieldSettings> </igDP:Field.Settings> </igDP:Field> </igDP:FieldLayout.Fields> </igDP:FieldLayout> </igDP:XamDataGrid.FieldLayouts> ...
プロジェクトをビルドして実行します。ShipDate フィールドでセルを選択します。xamDateTimeEditor が編集機能を提供するのが分かります。さらに、値を入力し始めて終了およびセルから移動しない場合には、値が無効であることを述べるメッセージ ボックスが表示します。