DataBound WPF ListBox Styling en ListBoxItems
Pregunta
Tengo un ListBox
que durante el desarrollo que tenía los elementos de la ListBox
codificado y con estilo. Así es como fueron labrados los artículos.
<ComboBoxItem Width="Auto" Height="Auto" Content="ComboBoxItem" >
<ComboBoxItem.Foreground>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF6F6F6F" Offset="0"/>
<GradientStop Color="#FFD1D1D1" Offset="1"/>
</LinearGradientBrush>
</ComboBoxItem.Foreground>
</ComboBoxItem>
Pero cuando me puse la propiedad ItemsSource
a un objeto de datos, lo que dijo mi xaml no era válida. Presumiblemente debido a que fue la adición de un artículo a través de XAML.
¿Cómo puedo crear el Style
para cada artículo, como se señala en el XAML anterior, una vez que lo tienes unido a una fuente de datos?
Gracias.
Solución
Esto se puede conseguir mediante el uso de estilos:
<ComboBox ItemsSource="{Binding}">
<ComboBox.Resources>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="Foreground">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF6F6F6F" Offset="0"/>
<GradientStop Color="#FFD1D1D1" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</ComboBox.Resources>
</ComboBox>
Espero que esto ayude!
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow