una ventana simple:¿Por qué TextBox obtiene un relleno cuando se establece Grid.Margin en App.xaml?
<Window x:Class="MyApp.MainWindow" xmlns="..." xmlns:x="...">
<Window.Resources>
<Style TargetType="Grid">
<Setter Property="Margin" Value="8"/>
</Style>
</Window.Resources>
<Grid>
<TextBox VerticalAlignment="Top" HorizontalAlignment="Left">Test</TextBox>
</Grid>
</Window>
Se ve así:
Ahora quitamos Window.Resources
:
<Window x:Class="MyApp.MainWindow" xmlns="..." xmlns:x="...">
<Grid>
<TextBox VerticalAlignment="Top" HorizontalAlignment="Left">Test</TextBox>
</Grid>
</Window>
y añadir a la definición de estilo de App.xaml
:
<Application x:Class="MyApp.App" xmlns="..." xmlns:x="..." StartupUri="View\MainWindow.xaml">
<Application.Resources>
<Style TargetType="Grid">
<Setter Property="Margin" Value="8"/>
</Style>
</Application.Resources>
</Application>
Curiosamente, el cuadro de texto ahora recibe un acolchado:
¿Por qué?
+1 Lástima que nunca me di cuenta de que esto sucede de forma predeterminada. – loxxy
@loxxy - Sí, es un matiz sutil que todavía tengo que encontrar documentación. – CodeNaked
¡Bien, gracias! Entonces, ¿cuál es la mejor manera de evitar esto? Pon el diccionario en un archivo separado? ¿No configura estilos para Grid y Panel en absoluto? –