c# - 我可以将 WPF ComboBox 控件的可见性绑定到从命令获得的项目的存在/不存在吗?
问题描述
我可以将 WPF 控件的可见性绑定到从填充'属性ComboBox
的 a 获得的项目的存在/不存在吗?简而言之,在这样的情况下:Command
ComboBox
ItemsSource
<ComboBox ItemsSource="{Binding MyCommand.Result, Mode=OneWay}" Visibility="..." />
我可以将Visibility
属性的值绑定到内部是否存在项目MyCommand.Result
以相应地隐藏/显示它吗?
解决方案
您可以将 aStyle
与DataTrigger
绑定到源属性的 a 一起使用,例如:
<ComboBox ItemsSource="{Binding MyCommand.Result, Mode=OneWay}">
<ComboBox.Style>
<Style TargetType="ComboBox">
<Style.Triggers>
<DataTrigger Binding="{Binding MyCommand.Result.Count}" Value="0">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
</ComboBox>
或者您可以绑定到HasItems
控件本身的属性:
<ComboBox ItemsSource="{Binding MyCommand.Result, Mode=OneWay}">
<ComboBox.Style>
<Style TargetType="ComboBox">
<Style.Triggers>
<Trigger Property="HasItems" Value="False">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
</ComboBox>
推荐阅读
- google-ai-platform - 如何在 Vertex AI 中构建容器日志?
- matlab - 如何在 Matlab 中从频谱图()的 PSD 输出矩阵中获取频带功率?
- php - 如何在while循环和CSS中为交替表行提供不同的背景颜色(不使用:nth-child()选择器)
- sql - 更新有关冲突 postgres 的另一个表
- python - 带有 aiohttp/apispec 的自定义招摇示例?
- linux - Linux 上的 Azure AD 身份验证错误 AADSTS50005
- javascript - 为什么scrollTop 不起作用而scrollLeft 在javascript 游戏中起作用?
- javascript - Node.js - 创建动态 json 对象并写入 .json 文件
- javascript - 当我使用可选链并将 browserslistrc 设置为 Electron 12.0.2 时无法构建 Vue 项目
- powerbi - Power BI 将 sql 查询转换为筛选器