1
다음 코드에는 텍스트 상자와 이미지가 포함 된 ListBoxItem 스타일이 있습니다. 텍스트 블록에 ListBoxItem 내용에 대한 바인딩이 있고 이미지가 스타일에 설정되어 있습니다. 각 listboxitem 및 코드에서이 이미지를 설정할 수 있기를 원하면 사람이 올바른 길로 나를 안내 할 수 있는지 궁금합니다.스타일 랩핑에서 이미지의 소스를 할당하는 방법 ListBoxItem
도움 주셔서 감사합니다.
코드 스타일의 조각과 그것을 사용 :
<Style x:Key="ExpanderListitemStyle" TargetType="{x:Type ListBoxItem}">
<StackPanel Orientation="Horizontal">
<Image x:Name="iGalleryPreview" Source="images/someImage.png" Width="18" Height="18"/>
<TextBlock x:Name="con" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Text="{TemplateBinding Content}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Margin="5,0,0,0">
<TextBlock.Foreground>
<SolidColorBrush Color="#FF2A485C" x:Name="contentColor" />
</TextBlock.Foreground>
</TextBlock>
</StackPanel>
<ListBox BorderThickness="0" ItemContainerStyle="{DynamicResource ExpanderListitemStyle}" VerticalAlignment="Stretch" Height="Auto">
<ListBoxItem Content="Some Label" />
<ListBoxItem Content="Another Label"/>
</ListBox>
내 스타일은 ControlTemplate은 많은 색상을 통해 마우스, 선택한 색상, 애니메이션과 같은 색상을 변경하는 않습니다 항목 등 위에 마우스를 놓으면됩니다. itemtemplate을 사용하여이 작업을 계속 수행 할 수 있습니까? 죄송합니다. wpf에 꽤 새로 왔습니다. – Terco
@ 모타이, 둘 다 설정할 수 있습니다. 업데이트 된 XAML 코드 –
고마워요. 선택한 경우 어떻게 배경을 바꿀 것입니까? 포어 그라운드를 변경 한 예제에서 작업했는데, 배경으로 변경했다면 listboxitem의 기본 선택된 색상을 얻었습니다. 또한 listboxitem 배경을 투명하게 설정 한 다음 컨트롤 주위에 테두리를 감싸고 배경을 설정했습니다. 기본 선택한 색상은 여전히 나타납니다. 어떤 아이디어를 주셔서 감사합니다 – Terco