Итак, у меня есть этот ListView, в котором есть DataTemplate моего UserContol, потому что я хотел индивидуальный дизайн для моего ListView, и он выглядит так
<ListView x:Name="LeftMenuListView"
ItemsSource="{Binding MenuItems}"
SelectedItem="{Binding SelectedMenuItem}"
BorderThickness="0"
Width="255">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<local:MenuItemControl/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Супер просто, теперь, когда предмет выбран, вся вещь меняет цвет
который я хочу, это выглядит отлично IMO
<Style TargetType="ListViewItem">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border
Name="Border"
BorderThickness="0">
<ContentPresenter />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Border" Property="Background"
Value="#444444"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Но внутри моего пользовательского элемента управления есть граница шириной 10 пикселей с именем SmallBorder.
Я хочу изменить цвет на зеленый, когда элемент выбран, но я не знаю, как получить доступ к этому свойству
Мой UserControl
<Grid Background="Transparent">
<TextBlock Text="{Binding Name}"
VerticalAlignment="Center"
Margin="20,0,0,0"
Foreground="#9e9e9e"
FontFamily="Tahoma"/>
<Border Width="10"
HorizontalAlignment="Left"
x:Name="SmallBorder"/>
</Grid>
Так как мне изменить цвет SmallBorder
, когда элемент выбран, а затем, когда он не выбран, он становится прозрачным?