-1
私はControltemplateでカスタムエキスパンダーを作成しようとしていません。私の最初の質問は、Expanderの内容をどこに置くことができるか(Expanderに表示されているテキストではなく、Expanderをクリックすると表示される内容です)(WPF)どのようにしてExpander-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のIsExpandedプロパティをtrueに設定すると機能します。 – mm8
ContentPresenterでは、TemplateBindingを使わずにmain.xamlファイルに入力できます。 –
Ben
私はそうは思わない私はあなたの質問を理解しています。しかし、はい、カスタムスタイルを使用するエキスパンダーを作成する必要があります。 – mm8