(WPF)如何用内容填充Expander Controltemplate?

(WPF)如何用内容填充Expander Controltemplate?,wpf,controltemplate,expander,contentpresenter,Wpf,Controltemplate,Expander,Contentpresenter,我不想用Controltemplate创建自定义扩展器。我的第一个问题是:我可以把扩展器的内容放在哪里(不是扩展器上显示的文本,如果单击扩展器,内容就会变为可见) 这是我在App.xaml中的代码: <Application.Resources> <ControlTemplate x:Key="FileExpanderButton" TargetType="{x:Type ToggleButton}"> <Image

我不想用Controltemplate创建自定义扩展器。我的第一个问题是:我可以把扩展器的内容放在哪里(不是扩展器上显示的文本,如果单击扩展器,内容就会变为可见)

这是我在App.xaml中的代码:

    <Application.Resources>

        <ControlTemplate x:Key="FileExpanderButton" TargetType="{x:Type ToggleButton}">
            <Image Name="BrowseUsedFiles" Source="F:\AudioNodeGUI_XAML\images\Browse_used_files.jpg">

            </Image>
        </ControlTemplate>

        <ControlTemplate x:Key="FileExpander" TargetType="{x:Type Expander}">
            <DockPanel>
                <ToggleButton x:Name="ExpanderButton" Template="{StaticResource FileExpanderButton}" OverridesDefaultStyle="True" DockPanel.Dock="Top"/>
                <ContentPresenter x:Name="ExpanderContent"
                          Visibility="Collapsed"
                          Content="{TemplateBinding Content}"
                          DockPanel.Dock="Bottom" />
            </DockPanel>
            <ControlTemplate.Triggers>
                <Trigger Property="IsExpanded" Value="True">
                    <Setter TargetName="ExpanderContent" 

              Property="Visibility" Value="Visible"/>
                </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>

    </Application.Resources>
</Application>


还有一个问题:ContentPresenter到底做了什么?我可以简单地用我的内容替换它吗?

Expander
是一个
ContentControl
,这意味着它包含内容(其他XAML),但该内容没有在控件模板中定义,而是由使用该控件的人定义的


ContentPresenter
在控件模板中用于显示该内容,就像您看起来正在做的那样。

是ContentPresenter显示该内容。如果您将扩展器的IsExpanded属性设置为true,它应该可以工作。因此,对于ContentPresenter,但没有Templatebinding,我可以在main.xaml文件中键入:我想我不理解您的问题。但是,您需要创建一个使用自定义样式的扩展器。