Innerhalb einer ListView
Steuerung, wie die DisplayMemberPath
Eigenschaft zu verwenden, wenn ich die ItemContainerStyle
ändern möchte?Wie kann der DisplayMemberPath in einem ListView mit einem ItemContainerStyle verwendet werden?
Ich benutzte eine ListView
Kontrolle im ControlTemplate
meiner Kontrolle und die DisplayMemberPath
Eigenschaft wird über Binding
von außerhalb der Kontrolle festgelegt.
<ListView ItemsSource="{TemplateBinding ItemsSource}"
DisplayMemberPath="{TemplateBinding DisplayMemberPath}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Item:" />
<TextBlock Text="{Binding}" />
<TextBlock Text=", " />
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
</ListView>
Ist es möglich, diese in XAML zu lösen? Wie ist es in der ursprünglichen ControlTemplate
gelöst?
ich versuche, es zu lösen mit einem MultiValueConverter
, wo ich den Sammelgegenstand und DisplayMemberPath
binden.
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource NameToValueConverter}">
<Binding />
<Binding Path="DisplayMemberPath" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type ListView}}"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
Ist es notwendig? Oder ist der Anzeigewert bereits von der ursprünglichen ListView
Steuerung gelöst?