wpf - ¿Alguien tiene un ejemplo simple de UserControl con un solo ContentPresenter?
xaml user-controls (1)
Hasta ahora, tengo esto:
<UserControl
x:Class="MyConcept.ExpanderPanel"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Border
Style="{StaticResource Border_PanelStyle}"
CornerRadius="3" />
<ContentPresenter />
</Grid>
</UserControl>
Uso de muestra de este UserControl:
<nc:ExpanderPanel
Grid.Row="0">
<Expander
IsExpanded="True"
Header="NMT Users">
<StackPanel>
...
</StackPanel>
</Expander>
</nc:ExpanderPanel>
Discusión
Si ejecuto esto, no veo nada. No se presenta ningún contenido, ni siquiera el borde que está integrado en UserControl.
Pensé que tal vez necesitaba convertir ContentPresenter
una propiedad de dependencia, pero no pude entender cómo vincularía la propiedad con ContentPresenter en el XAML de UserControl.
¿Alguien puede proporcionar un ejemplo simple que muestra cómo construir un UserControl
(o algún tipo de control personalizado) con un solo ContentPresenter
?
Los ContentPresenters se usan principalmente en ControlTemplates y se vinculan con un TemplateBinding al ContentControl.Content. de este sitio ... una plantilla de control para un botón que usa un ContentPresenter
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="White" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<Rectangle Fill="{TemplateBinding Property=Background}" />
<ContentPresenter
Content="{TemplateBinding Property=ContentControl.Content}" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>