リストボックスアイテムに適用しているWPFスタイルがあります。現在、各アイテムはKeyValuePairにバインドされています。ListBoxItem内のTextBlockにキーを表示します。
<TextBlock Name="Label" Text="{Binding Key}" />
私がやりたいのは、Styleを汎用にして、データが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>