gpt4 book ai didi

wpf - 如何为特定数据类型的 ListBoxItems 应用样式 setter ?

转载 作者:行者123 更新时间:2023-12-04 06:13:15 28 4
gpt4 key购买 nike

我的 WPF ListBox 包含两种类型的对象:产品和品牌。

我要我的 可选产品 .我要我的 品牌不可选择 .

这两种类型中的每一种都有自己的 DataTemplate。

默认情况下,可以选择任何内容:

<ListBox ... >
<ListBox.Resources>
<DataTemplate DataType="{x:Type local:Product}">
...
</DataTemplate>
<DataTemplate DataType="{x:Type local:Brand}">
...
</DataTemplate>
</ListBox.Resources>
</ListBox>

我可以使用 Setter 设置 Focusable,但随后可能不会选择任何内容:
<ListBox ... >
<ListBox.Resources>
...
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Focusable" Value="False" />
</Style>
</ListBox.Resources>
</ListBox>

我不能将 Setter 放在 DataTemplate 中。

我无法将 DataType 放在 Style 上。

如何仅设置 Brand 类型的 ListBoxItems 样式?

最佳答案

感谢 StyleSelector 类,您可以根据 ItemContainerStyle 的数据类型附加样式。这里有一个很好的例子:http://www.telerik.com/help/wpf/common-data-binding-style-selectors.html

关于wpf - 如何为特定数据类型的 ListBoxItems 应用样式 setter ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7542139/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com