0

Windows 8 Metro アプリの devexpress xaml グリッドの奇数行と偶数行に交互の行の色を追加しようとしています。どうすればこれを達成できますか? 私はよくグーグルで検索していますが、ほとんどのサンプルで名前空間の参照が一致していません。Devexpress v12.2 を使用しています。

4

2 に答える 2

0

したがって?:

<MultiDataTrigger>
    <MultiDataTrigger.Conditions>
        <Condition Binding="{Binding Path=EvenRow}" Value="False"/>
        <Condition Binding="{Binding Path=SelectionState}" Value="None"/>
    </MultiDataTrigger.Conditions> 
    <Setter Property="Background" Value="{StaticResource evenRowBrush}" />
</MultiDataTrigger>

<MultiDataTrigger>
    <MultiDataTrigger.Conditions>
        <Condition Binding="{Binding Path=EvenRow}" Value="True"/>
        <Condition Binding="{Binding Path=SelectionState}" Value="None"/>
    </MultiDataTrigger.Conditions>
    <Setter Property="Background" Value="{StaticResource oddRowBrush}" />
</MultiDataTrigger>
于 2013-02-20T13:31:33.997 に答える
0

GridControl.ItemTemplate(行テンプレート)を変更できます。このアプローチは、Conditional Formatting デモ モジュール (DevExpress v12.2 機能のデモ) で示されています。

<UserControl 
    ...
    xmlns:Grid="using:DevExpress.UI.Xaml.Grid">
    <UserControl.Resources>
        <local:RowHandleToBackgroundConverter x:Key="RowHandleToBackgroundConverter" EvenRowBackground="Transparent" OddRowBackground="#FFDFE7EF"/>
    </UserControl.Resources>
...
<Grid:GridControl.ItemTemplate>
    <DataTemplate>
        <Border Background="{Binding Path=RowControl.RowHandle, RelativeSource={RelativeSource Mode=TemplatedParent}, Converter={StaticResource RowHandleToBackgroundConverter}}">
            <Grid:GridCellPanel x:Name="PART_RowPanel" RowControl="{Binding Path=RowControl, RelativeSource={RelativeSource Mode=TemplatedParent}}" Margin="0,0,1,0"/>
        </Border>
    </DataTemplate>
</Grid:GridControl.ItemTemplate>

「RowHandleToBackgroundConverter」クラスは次のように実装されます。

public class RowHandleToBackgroundConverter : IValueConverter {
    public Brush EvenRowBackground { get; set; }
    public Brush OddRowBackground { get; set; }
    public object Convert(object value, Type targetType, object parameter, string language) {
        if(((int)value % 2) == 0)
            return OddRowBackground;
        else
            return EvenRowBackground;
    }
    public object ConvertBack(object value, Type targetType, object parameter, string language) {
        throw new NotImplementedException();
    }
}
于 2013-02-20T14:33:42.790 に答える