Note that there are some explanatory texts on larger screens.

plurals
  1. POIs it possible to template a template in WPF XAML?
    text
    copied!<p>Is it possible to use templates within templates?</p> <p>For instance, I have the following two templates:</p> <pre><code>&lt;HierarchicalDataTemplate x:Key="RecursiveTemplate" ItemsSource="{Binding Children}"&gt; &lt;StackPanel Margin="1" Orientation="Horizontal"&gt; &lt;Ellipse Fill="DarkGreen" Width="14" Height="14"/&gt; &lt;TextBlock MouseDown="OnTreeMouseDown" TargetUpdated="OnTargetUpdated" Visibility="{Binding Editing, Converter={StaticResource visibilityInverter}}" Margin="5" Text="{Binding Name}"/&gt; &lt;TextBox PreviewKeyDown="OnTreeKeyDown" Visibility="{Binding Editing, Converter={StaticResource visibilityConverter}}" Margin="2" Text="{Binding Name}"/&gt; &lt;/StackPanel&gt; &lt;/HierarchicalDataTemplate&gt; &lt;HierarchicalDataTemplate x:Key="ContainerTemplate" ItemsSource="{Binding Children}"&gt; &lt;StackPanel Margin="1" Orientation="Horizontal"&gt; &lt;Ellipse Fill="DarkBlue" Width="14" Height="14"/&gt; &lt;TextBlock MouseDown="OnTreeMouseDown" TargetUpdated="OnTargetUpdated" Visibility="{Binding Editing, Converter={StaticResource visibilityInverter}}" Margin="5" Text="{Binding Name}"/&gt; &lt;TextBox PreviewKeyDown="OnTreeKeyDown" Visibility="{Binding Editing, Converter={StaticResource visibilityConverter}}" Margin="2" Text="{Binding Name}"/&gt; &lt;/StackPanel&gt; &lt;/HierarchicalDataTemplate&gt; </code></pre> <p>There's a section of identical XAML:</p> <pre><code>&lt;TextBlock MouseDown="OnTreeMouseDown" TargetUpdated="OnTargetUpdated" Visibility="{Binding Editing, Converter={StaticResource visibilityInverter}}" Margin="5" Text="{Binding Name}"/&gt; &lt;TextBox PreviewKeyDown="OnTreeKeyDown" Visibility="{Binding Editing, Converter={StaticResource visibilityConverter}}" Margin="2" Text="{Binding Name}"/&gt; </code></pre> <p>Is it possible to move that to a resource and refer to it by name, rather than repeat it?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload