ItemContainerStyle
を変更する場合は、コントロール内で、DisplayMemberPath
プロパティの使用方法を教えてください。ItemContainerStyleでListViewのDisplayMemberPathを使用するにはどうすればよいですか?
私は私のコントロールのControlTemplate
にListView
コントロールを使用してDisplayMemberPath
プロパティは、コントロールの外からBinding
を経由して設定されています。
<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>
それは、XAMLでこの問題を解決することは可能ですか?それは元のControlTemplate
でどのように解決されますか?
私はコレクションアイテムとDisplayMemberPath
をバインドMultiValueConverter
、とそれを解決しようとします。
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource NameToValueConverter}">
<Binding />
<Binding Path="DisplayMemberPath" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type ListView}}"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
必要ですか?または、元のListView
コントロールによって表示値が既に解決されていますか?