Domanda

Ho un ListBox che durante lo sviluppo ho avuto gli elementi nel ListBox hardcoded e stile. Questo è come sono stati in stile degli elementi.

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

Ma quando ho impostato la proprietà ItemsSource ad un oggetto di dati, ha detto il mio XAML non è valido. Presumibilmente perché è stata l'aggiunta di un articolo attraverso XAML.

Come posso creare il Style per ogni articolo, come indicato nel XAML sopra, una volta che avete legato a un DataSource?

Grazie.

È stato utile?

Soluzione

È possibile raggiungere questo obiettivo utilizzando Stili:

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

Spero che questo aiuti!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top