У меня есть ListBox, его DateTemplate так:Как изменить часть DataTemplate фона
<Grid Margin="30,0,0,0" HorizontalAlignment="Left">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Image Source="{Binding Path=IconSource}"/>
<TextBlock Grid.Column="1" Background="{x:Null}" Text="{Binding Path=DisplayText, Mode=Default}" Foreground="Black"/>
</Grid>
и это ItemContainerStyle:
<Style x:Key="Test" TargetType="ListBoxItem">
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Name="Border" SnapsToDevicePixels="True">
<ContentPresenter/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Border" Property="Background" Value="Blue" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Когда выбран один ListBoxItem, возможно не устанавливать фон изображения? Как и в Intellisense VS, значок API не имеет фона.
Возможно, вы хотите ['ItemsControl'] (http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.aspx)? –
вы можете найти шаблоны для списка (item) на msdn и перезаписать необходимые вам свойства. Это, безусловно, возможно. – Terry