首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何根据DataGrid单元格值加载不同的图像?

如何根据DataGrid单元格值加载不同的图像?
EN

Stack Overflow用户
提问于 2018-08-12 01:38:14
回答 1查看 339关注 0票数 1

假设我有一个包含默认图像的单元格的DataGrid

代码语言:javascript
复制
<Datagrid AutoGenerateColumns="False"                                  ItemsSource="{Binding}">
<DataGrid.Columns>
 <DataGridTextColumn Header="Bookmaker" Binding="{Binding book_name}"/>
   <DataGridTemplateColumn CanUserResize="False">
     <DataGridTemplateColumn.CellTemplate>
       <DataTemplate>
         <Image Source="/App;component/Resources/Assets/foo.png" Width="40" Height="40"
         Stretch="UniformToFill" StretchDirection="Both"
         RenderOptions.BitmapScalingMode="HighQuality" />
         <DataTemplate.Triggers>
         <DataTrigger Binding="{Binding book_name}" Value="test">
         <Setter Property="sour" /> ????
     </DataTrigger>
     </DataTemplate.Triggers>
   </DataTemplate>
 </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

我希望显示为默认图像foo.png,但如果单元格的值包含test,我需要更改图像的源,但我找不到任何Source属性,因为我使用的是DataTemplate,是否有人遇到过类似的情况?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-12 02:55:33

设置样式Image并使用该样式中的触发器为图像选择Source

代码语言:javascript
复制
<DataTemplate>
    <Image Width="40" Height="40"
           Stretch="UniformToFill" StretchDirection="Both"
           RenderOptions.BitmapScalingMode="HighQuality">
        <Image.Style>
            <Style TargetType="Image">
                <Setter Property="Source" Value="pack://application:,,,/Assets/foo.png" />
                <Style.Triggers>
                    <DataTrigger Binding="{Binding book_name}" Value="test">
                        <Setter Property="Source" Value="pack://application:,,,/Assets/bar.png" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Image.Style>
    </Image>
</DataTemplate>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51802200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档