Q088. テーマを適用した XamDataGrid のセルに境界線を引くには?
A.XamDataGrid.FieldSettings.CellValuePresenterStyle プロパティを設定します。
XamDataGrd にはテーマが豊富に用意されてますが、テーマの中にはセル境界線を非表示にしてしまうものもあります。これでは視認性が悪いので表示できないか調べたところ、FieldSettings.CellValuePresenterStyle を設定すれば表示できることが判りました。
以下、サンプルです。どのテーマに切り替えても XamDataGrid のセルで境界線が表示されます。
<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> <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}}"/> <igWPF:XamDataGrid Grid.Column="1" Grid.Row="3" BindToSampleData="True" Theme="Metro" x:Name="XamDataGrid1" > <igWPF:XamDataGrid.FieldSettings> <igWPF:FieldSettings> <igWPF:FieldSettings.CellValuePresenterStyle> <Style TargetType="igWPF:CellValuePresenter"> <Setter Property="BorderBrush" Value="Gray" /> <Setter Property="BorderThickness" Value="0,0,1,1" /> </Style> </igWPF:FieldSettings.CellValuePresenterStyle> </igWPF:FieldSettings> </igWPF:XamDataGrid.FieldSettings> </igWPF:XamDataGrid> </Grid> </Window>
参考記事 : 組み込みテーマを使用