1

私は WPF Devexpress GridControl を使用しており、画像を含む列があります。DataTrigger を使用してイメージを変更したい。XAML は次のとおりです。

      <dxg:GridColumn Header="{Binding Source={StaticResource MainWindowResources}, Path=Resource.Status}"
                                FieldName="SaveStatus"
                                MinWidth="60"
                                Width="60"
                                ReadOnly="True" 
                                >
                    <dxg:GridColumn.CellTemplate>
                        <DataTemplate>
                            <Image HorizontalAlignment="Center"
                                   VerticalAlignment="Center"
                                   Style="{StaticResource ImageStatusStyle}">
                            </Image>
                        </DataTemplate>
                    </dxg:GridColumn.CellTemplate>

                </dxg:GridColumn>

そしてスタイル:

<Style TargetType="{x:Type Image}" x:Key="ImageStatusStyle">
    <Style.Triggers>
        <DataTrigger Binding="{Binding Path=Data.SaveStatus, UpdateSourceTrigger=
PropertyChanged}" Value="{x:Static enums:SaveState.DoneSuccesfuly}">
            <Setter Property="Source" Value="..\Icons\StatusOk.png" />
        </DataTrigger>
        <DataTrigger Binding="{Binding Path=Data.SaveStatus, UpdateSourceTrigger=
PropertyChanged}" Value="{x:Static enums:SaveState.DoneUnsuccesfuly}">
            <Setter Property="Source" Value="..\Icons\StatusError.png" />
        </DataTrigger>
    </Style.Triggers>
</Style>

これはうまくいきません。私は何を間違っていますか?この問題に対するより良い解決策はありますか?

4

2 に答える 2

2

私は解決策を見つけることができました。問題は、Data.SaveStatus の代わりに datatrigger バインディングが RowData.Row.SaveStatus である必要があることでした。

 <Style.Triggers>
                <DataTrigger Binding="{Binding Path=RowData.Row.SaveStatus, UpdateSourceTrigger=PropertyChanged}" Value="{x:Static enums:SaveState.DoneSuccesfuly}">
                    <Setter Property="Source" Value="..\Icons\StatusOk.png"></Setter>
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=RowData.Row.SaveStatus, UpdateSourceTrigger=PropertyChanged}"  Value="{x:Static enums:SaveState.DoneUnsuccesfuly}">
                    <Setter Property="Source" Value="..\Icons\StatusError.png"></Setter>
                </DataTrigger>
            </Style.Triggers>
于 2013-08-21T11:29:15.583 に答える