我正在尋找一種方法來設置一個gradientbrush作爲列表框項目的背景。我定義了一個DataTemplate並指定了一個漸變畫筆,但它始終顯示爲列表框背景(即,它從不顯示爲漸變畫筆)。你可以在silverlight中設置一個listboxitem背景的漸變畫筆嗎?
我已經能夠設置列表框的背景本身,我可以使用「setter」對象將listboxitem的背景設置爲標準顏色......但這些都不是我所追求的。
我真的想對每個項目的背景是一個漸變畫筆。
下面是我構建的數據模板。
<ListBox Name="MyListBox" Margin="12,67,12,169">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="51" VerticalAlignment="Bottom">
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFC9F4D0"/>
<GradientStop Color="#FF2AC12A" Offset="0.333"/>
<GradientStop Color="#FF35DE35" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
<Canvas >
<dataInput:Label Width="227" Foreground="Yellow" Canvas.Left="158" Canvas.Top="8" Content="{Binding Place}"/>
<dataInput:Label Width="146" Foreground="Yellow" Canvas.Left="8" Canvas.Top="8" Content="{Binding Date}"/>
<dataInput:Label Content="{Binding People}" Width="346" FontSize="9.333" Foreground="Black" Canvas.Left="166" Canvas.Top="28"/>
<!-- <dataInput:Label Width="45" Content="Accept" Foreground="White" Canvas.Left="8" Canvas.Top="28"/>
<dataInput:Label Width="45" Content="Decline" Foreground="White" Canvas.Left="57" Canvas.Top="28"/> -->
<dataInput:Label Content="SomeText" Width="101" FontSize="9.333" Foreground="White" Canvas.Left="389" Canvas.Top="10"/>
<Image Height="21" Width="21" Canvas.Left="500" Canvas.Top="8" Source="Green Button.png"/>
</Canvas>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
有什麼想法?