1
我想更改IsMouseOver觸發器中矩形的背景顏色,這可能嗎?是否可以使用包含控件中的觸發器更改DataTemplate中子項的屬性?
<Window>
<Window.Resources>
<DataTemplate x:Key="StackListViewItemTemplate">
<Grid>
<Rectangle RadiusX="5" RadiusY="5" >
<Rectangle.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF000000" Offset="0"/>
<GradientStop Color="{Binding Path=Events.Colour}" Offset="1"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<TextBlock FontSize="18pt" Grid.RowSpan="2" Text="{Binding Path=Events.Name}" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</Grid>
</DataTemplate>
</Window.Resources>
<Grid >
<ListView ItemTemplate="{DynamicResource StackListViewItemTemplate}">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<!-- Here I want to set the background colour of the Rectangle in the DataTemplate -->
</Trigger>
<Trigger Property="IsSelected" Value="true">
<!-- Same here -->
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
</ListView>
</Grid>
</Window>
編輯:
<Setter Property="Background" Value="Yellow"/>
是否有綁定的setter到子控件的屬性值的方法嗎?
的問題是使用ListView和DataTemplate中使用datatrigger。觸發器工作,但它設置包裝Grid和Rectangle的ListViewItem的背景。我想改變矩形的背景。 – 2009-07-21 14:40:30