Creo que esto es posible, pero la forma obvia no funciona.¿Visualizar un DataTemplate predeterminado en un ContentControl cuando su contenido es nulo o está vacío?
Actualmente, estoy haciendo esto:
<ContentControl
Content="{Binding HurfView.EditedPart}">
<ContentControl.Resources>
<Style
TargetType="ContentControl"
x:Key="emptytemplate">
<Style.Triggers>
<DataTrigger
Binding="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=Content}"
Value="{x:Null}">
<Setter
Property="ContentControl.Template">
<Setter.Value>
<ControlTemplate>
<Grid
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<TextBlock>EMPTY!</TextBlock>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Resources>
</ContentControl>
ahora no recibo ningún error vinculantes y esto compila. Sin embargo, no produce el resultado esperado. También probé lo obvio:
<DataTemplate DataType="{x:Null}"><TextBlock>Hurf</TextBlock></DataTemplate>
Esto no se compilará. Y al intentar establecer el contenido dos veces falla también:
<ContentControl
Content="{Binding HurfView.EditedPart}">
<TextBlock>DEFAULT DISPLAY</TextBlock>
</ContentControl>
¿Puedo hacer esto sin escribir un selector de plantilla personalizado?
¡Funcionó! Gracias. – Will
No hay problema, es un error muy común que las personas cometen cuando intentan hacer cosas más complejas con estilos y factores desencadenantes. –
Cada vez que vuelvo para esto, voy a dejar un comentario. Gracias. – Will