You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF下使用XAML基于逻辑判断动态展示不同内容的可行性咨询

结论

仅通过XAML侧调整即可实现该需求,无需修改ViewModel层的逻辑,符合MVVM分层原则,视图层的展示逻辑不需要侵入业务层代码。

实现方案

你可以在DataTemplate中同时放置完成状态的图标和未完成状态的文本,通过绑定IsCompleted属性的触发器切换两者的可见性即可,修改后的参考代码如下:

<DataGridTemplateColumn Header="Status">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <Grid VerticalAlignment="Center" HorizontalAlignment="Center">
                <!-- 原有完成状态图标 -->
                <Path x:Name="CompletedIcon"
                      Data=" "
                      Fill="# "
                      Stretch=" "
                      Height=""
                      Width=""/>
                <!-- 新增未完成状态文本 -->
                <TextBlock x:Name="IncompleteText" 
                           Text="In complete"
                           Visibility="Collapsed"/>
            </Grid>
            <DataTemplate.Triggers>
                <DataTrigger Binding="{Binding IsCompleted}" Value="False">
                    <Setter TargetName="CompletedIcon" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="IncompleteText" Property="Visibility" Value="Visible"/>
                </DataTrigger>
            </DataTemplate.Triggers>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

该方案默认展示完成状态的Path图标,当IsCompleted为False时自动隐藏图标、显示未完成文本,和你现有业务逻辑完全兼容。

内容的提问来源于stack exchange,提问作者dev_tech

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 08:45:04