我有一个ListBox在开发过程中我曾在ListBox项硬编码和风格。这是物品被如何称呼。

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

但是,当我设置ItemsSource属性的数据对象,它说我的XAML是无效的。大概是因为它是通过XAML加入一个项目。

如何创建Style每个项目,如上面提到的XAML,一旦你拥有了它绑定到数据源?

感谢。

有帮助吗?

解决方案

可以通过使用样式实现这一点:

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

希望这有助于!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top