저는 WPF 초보자입니다. 내가 좋아하는 것ListBoxItem에서 내용의 배경색을 변경하십시오.
<ListBox Background="Transparent" BorderBrush="Transparent">
<ListBox.Style>
<Style>
<Style.Resources>
<!-- Background of selected item when focussed -->
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent" />
<!-- Background of selected item when not focussed -->
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent" />
</Style.Resources>
</Style>
</ListBox.Style>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Margin="5" BorderThickness="2" BorderBrush="LightGray" CornerRadius="5">
<Expander IsExpanded="True" Background="#f7f7f7">
<!-- Content -->
</Expander>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ListBox>
동작은 선택한 항목이 있는지의 확장 배경 색상이 어두운 (예를 들어 #의 e0e0e0) 될 수있다 : 나는 (확장기 그들 주위에 테두리가) 확장기를 포함하는 목록 상자가 있습니다. ListBoxItem (이 코드에 표시되어 있음)의 배경색을 숨길 수있는 예제를 발견했지만 ListBoxItem에서 내용의 배경색을 변경하는 데는 좋은 소스가 없습니다. 이 작업을 수행하려면 트리거를 설정해야하지만 ListBox 나 Expander의 트리거가 될 지 여부는 모르겠다.
적절한 트리거를 어떻게 설정합니까?
당신이 –
트리거 같은 일을 평가하는 조건을 필요로 할 수있는 아주 좋은 도구입니다 Expression Blend를 시도 할 수 있습니다, 어떤 조건 당신이 원하는 않습니다. 트리거는 데이터 값을 기반으로합니까? 아니면 단순히 해당 행/항목이 선택되거나 확장 될 때입니까? –