GridControl -Devexpress中的图像

时间:2015-11-02 14:11:21

标签: wpf devexpress

我有一个网格控件,第一列和单元格显示一个垃圾桶图标。但只有在选择了行时才能看到垃圾桶图标。

我有一种风格:

<Style TargetType="{x:Type Image}" x:Key="ImageStatusStyle">
    <Style.Triggers>
        <DataTrigger Binding="{Binding Path=RowData.IsFocused,   UpdateSourceTrigger=PropertyChanged}" Value="true">
            <Setter Property="Visibility" Value="Visible" />
        </DataTrigger>                
    </Style.Triggers>
</Style>

和数据模板:

<DataTemplate x:Key="TrashIconCellTemplate" >
    <Button Height="15" Width="15"  Command="{Binding ElementName=GroupCodeListView,Path=DataContext.MarkRowForDeletionCommand}">
        <Button.Template>
            <ControlTemplate>
                <Image Source="../Resources/crane.png" Style="{StaticResource ImageStatusStyle}" Visibility="Hidden"/>
            </ControlTemplate>
        </Button.Template>
    </Button>
</DataTemplate>

网格控件:

<dxg:GridControl ItemsSource="{Binding GroupCodes, Mode=TwoWay}" 
                 SelectedItems="{Binding                    
                 SelectedGroupCodes,Mode=TwoWay}"
                 SelectionMode="Row"
                 x:Name="Grid"
                 ClipboardCopyMode="ExcludeHeader" 
                 Margin="0,0,0,0"
                 Height="360"
                 MinWidth="400"
                 CustomRowFilter="FilterDeleted">

以及引用上述内容的网格单元格列:

<dxg:GridColumn FieldName="IconUnbound"
                UnboundType="Object"
                CellTemplate="{StaticResource TrashIconCellTemplate}"
                CellStyle="{StaticResource GroupCodeColorStyle}" />

仅在选择行时,应显示第一个单元格中的垃圾图像。

图像保持默认隐藏状态。数据触发器无效。我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

如果要检查是否选择了行,则需要使用RowData.IsSelected属性。此外,您必须在Visibility部分设置Style,而不是Image本身。

以下是示例:

<强> 0。式:

<Style TargetType="{x:Type Image}" x:Key="ImageStatusStyle">
    <Setter Property="Visibility" Value="Hidden" />
    <Style.Triggers>
        <DataTrigger Binding="{Binding Path=RowData.IsSelected, UpdateSourceTrigger=PropertyChanged}" Value="true">
            <Setter Property="Visibility" Value="Visible" />
        </DataTrigger>
    </Style.Triggers>
</Style>

<强> 1。图像:

<Image Source="../Resources/crane.png" Style="{StaticResource ImageStatusStyle}" />