我有一个WPF样式,我正在应用列表框项目。目前,每个项目都绑定到一个KeyValuePair。我显示ListBoxItem的内部在TextBlock中的关键,是否有可能将参数(绑定)传递给WPF样式
<TextBlock Name="Label" Text="{Binding Key}" />
我想要做的是使样式通用的,因此,如果数据不是KeyValuePair,(也许只是一个字符串),我可以绑定数据正确的TextBlock。
有没有办法将参数传递给Style或DataTemplate或使数据绑定通用?
我的风格:
<Style x:Key="ListBoxItemStyle" TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border x:Name="Border" Padding="2" SnapsToDevicePixels="true" CornerRadius="4" BorderThickness="1">
<TextBlock Name="Label" Text="{Binding Key}" />
</Border>
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="True"/>
</MultiTrigger.Conditions>
<Setter TargetName="Border" Property="Background" Value="{StaticResource SelectionGradient}" />
</MultiTrigger>
<ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
如何使用转换器?你试过了吗? – Damascus
我还没有尝试过使用转换器,但可能有效。我愿意接受任何建议,以使其发挥作用。 –