Ich versuche, einen benutzerdefinierten Expander mit einem ControlTemplate zu erstellen. Meine erste Frage ist: Wo kann ich den Inhalt des Expanders (nicht den auf dem Expander angezeigten Text, den Inhalt, der sichtbar wird, wenn Sie auf den Expander klicken) setzen?(WPF) Wie kann ich ein Expander-Control-Template mit Inhalt füllen?
Dies ist mein Code in 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>
Und noch eine Frage: Was genau das Content tut? Kann ich es einfach durch meinen Inhalt ersetzen?
Es ist der ContentPresenter, der den Inhalt darstellt. Es sollte funktionieren, wenn Sie die IsExpanded-Eigenschaft des Expander auf True festlegen. – mm8
Also mit dem ContentPresenter aber ohne Templatebinding kann ich in der main.xaml Datei einfach folgendes eingeben: –
Ben
denke ich nicht Ich verstehe deine Frage. Aber ja, Sie müssen einen Expander erstellen, der Ihren benutzerdefinierten Style verwendet. – mm8