0

私はこのXamlコードを持っています

<ListView x:Name="listOrderList" Margin="58,55,0,0" Background="{x:Null}">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="DESCRIPTION" DisplayMemberBinding="{Binding Description}"/>
            <GridViewColumn Header="STATUS">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <Image Source="{Binding Status}"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

C# にはenumfor Status があり、明らか<Image Source="{Binding Status}"/>にうまくいかないことがわかっています。Statusしかし、たとえば、列挙型に2つの値があるなど、何かを行うにはどうすればよいですか。はい、いいえと言ってください。小さなアイコンを列挙型の値に割り当てて、バインディングを簡単に操作するにはどうすればよいですか。

ありがとうございます。

4

3 に答える 3

2

IValueConverterを確認する

これにより、バインディングによって配信された値を確認し、Image表示するオブジェクトを作成できます。

于 2013-10-07T13:12:43.313 に答える
1

Icon image path を Enum に設定し、DataGrid をその Enum にバインドできます。

            <DataGridTemplateColumn x:Name="colStatus" Width="160" Header="Status">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                   <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" OverridesDefaultStyle="True" Width="135">
                                    <Image Height="14" Margin="2,0,0,0" HorizontalAlignment="Left" Source="{Binding Status}" Width="14" />
                                    </StackPanel>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
于 2013-10-07T13:17:53.870 に答える