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.

¿Fue útil?

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
scroll top