Q087. XamDataGrid にテーマを設定するには?

A.XamDataGrid.Theme プロパティを設定します。


以下、サンプルです。コンボボックスで選択したテーマが XamDataGrid に反映されます。


XAML

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        xmlns:igWPF="http://schemas.infragistics.com/xaml/wpf"
        xmlns:igThemes="http://infragistics.com/Themes"
        Title="MainWindow" Height="320" Width="540"
        WindowStartupLocation="CenterScreen" >
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="8" />
            <ColumnDefinition />
            <ColumnDefinition Width="8" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="8" />
            <RowDefinition Height="30" />
            <RowDefinition Height="4" />
            <RowDefinition />
            <RowDefinition Height="8" />
        </Grid.RowDefinitions>
        <Grid.Resources>
            <ObjectDataProvider MethodName="GetThemes"
                                ObjectType="{x:Type igThemes:ThemeManager}"
                                x:Key="odpThemes">
                <ObjectDataProvider.MethodParameters>
                    <sys:Boolean>True</sys:Boolean>
                    <sys:String>DataPresenter</sys:String>
                </ObjectDataProvider.MethodParameters>
            </ObjectDataProvider>
        </Grid.Resources>
        <igWPF:XamDataGrid Grid.Column="1" Grid.Row="3" BindToSampleData="True"
                           Theme="Metro" x:Name="XamDataGrid1" />
        <ComboBox Grid.Column="1" Grid.Row="1"
                  Height="24" Width="150" 
                  HorizontalAlignment="Left" Margin="22,0" 
                  SelectedItem="{Binding Path=Theme, ElementName=XamDataGrid1}"
                  ItemsSource="{Binding Source={StaticResource odpThemes}}"/>
    </Grid>
</Window>


「Office2010Blue」 を選ぶとこうなります。


こちらは「RoyaleStrong」 です。


参考記事組み込みテーマを使用


WPF FAQ の目次に戻る