【发布时间】:2010-12-19 11:22:13
【问题描述】:
我将对象集合绑定到 WPF 中的列表框,为简单起见,我们将说我绑定的对象具有 3 个属性:名称、URL、IsBold。我想要做的是,如果 IsBold 设置为 true,它是否显示不同,再次作为示例,我想将出现 Name 的 TextBlock 设置为粗体。这样的事情甚至可能吗?如果我的一个属性是特定值,我可以使用不同的样式或其他东西吗? (我可以在 XAML 中执行 if/else 之类的操作吗)?我真的不知道从哪里开始。
假设我的 DataTemplate 中有这个
<TextBlock Style="{StaticResource notBold}" Text="{Binding Path=Name}"></TextBlock>
如果 IsBold 为该特定项目设置为 true,我希望它是(注意样式从“notBold”更改为“isBold”)
<TextBlock Style="{StaticResource isBold}" Text="{Binding Path=Name}"></TextBlock>
或类似的东西。我猜是更普遍的问题。是否可以根据数据绑定的项目更改某物的外观?如果这是不可能的,怎么会做这样的事情?以某种方式通过代码隐藏?
谢谢
【问题讨论】:
标签: wpf data-binding xaml styles