说我有扩展器:(来自the article)
<ControlTemplate x:Key="SimpleExpanderTemp" TargetType="{x:Type Expander}">
<DockPanel>
<ToggleButton x:Name="ExpanderButton"
DockPanel.Dock="Top"
Template="{StaticResource SimpleExpanderButtonTemp}"
Content="{TemplateBinding Header}"
IsChecked="{Binding Path=IsExpanded,
RelativeSource={RelativeSource TemplatedParent}}"
OverridesDefaultStyle="True"
Padding="1.5,0">
</ToggleButton>
<ContentPresenter x:Name="ExpanderContent"
Visibility="Collapsed"
DockPanel.Dock="Bottom"/>
</DockPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="True">
<Setter TargetName="ExpanderContent"
Property="Visibility" Value="Visible"/>
</Trigger>
</ControlTemplate.Triggers>
现在我想在ListViewItems上使用扩展器。 列表视图没有itemsSource。我在这里使用硬拷贝。
<ListView VerticalAlignment="Top>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Expander Template="{StaticResource SimpleExpanderButtonTemp}" Grid.Row="0" />
<ListViewItem Grid.Row="1>
<StackPanel>
<Button Height="50"> Test</Botton>
</StackPanel>
</ListViewItem>
</ListView>
我的问题是如何将扩展器应用于列表视图项?我认为在模板中ContentPresenter是一个placehole,然后我会用它替换ListViewItem?
修改
我想要像
这样的东西第1行是一个togglebutton。 第2行是列表视图项。 当然,我有很多列表视图项。每个人都应该有它的扩展器。在图像中我只列出一个。
答案 0 :(得分:0)
您可以将Content
的{{1}}设置为您想要的任何内容,例如Expander
:
ListViewItem
它是展开和折叠的<Expander Template="{StaticResource SimpleExpanderButtonTemp}" Grid.Row="0">
<ListViewItem Grid.Row="1">
<StackPanel>
<Button Height="50">Test</Button>
</StackPanel>
</ListViewItem>
</Expander>
。
您不需要在Content
内明确创建ListViewItems
,但您可能只想将ListView
添加到StackPanel
:
Expander