Como faço para colocar o conteúdo de um TabPage em Silverlight?
-
01-07-2019 - |
Pergunta
Quando eu colocar um controle em um TabPage em Silverlight o controle é colocado ~ 10 pixels para baixo e ~ 10 pixels direita. Por exemplo, o seguinte XAML:
<System_Windows_Controls:TabControl x:Name=TabControlMain Canvas.Left="0" Canvas.Top="75" Width="800" Height="525" Background="Red" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" Padding="0" Margin="0">
<System_Windows_Controls:TabItem Header="Test" VerticalContentAlignment="Top" BorderThickness="0" Margin="0" Padding="0" HorizontalContentAlignment="Left">
<ContentControl>
<Grid Width="400" Height="200" Background="White"/>
</ContentControl>
</System_Windows_Controls:TabItem>
</System_Windows_Controls:TabControl>
vai produzir:
Como faço para posicionar o conteúdo em 0,0?
Solução
Olhe para o modelo de controle, tem uma margem desse tamanho. Use mistura para modificar a uma cópia do modelo do controle guia.
Outras dicas
Verifique o modelo de sua TabItem controle, ele pode ter alguma margem padrão de 10. Apenas um palpite
Você também pode adicionar uma margem negativa para o conteúdo. Eu encontrei o valor a ser de 9 pixels ...
<System_Windows_Controls:TabControl x:Name=TabControlMain Canvas.Left="0" Canvas.Top="75" Width="800" Height="525" Background="Red" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" Padding="0" Margin="0">
<System_Windows_Controls:TabItem Header="Test" VerticalContentAlignment="Top" BorderThickness="0" Margin="0" Padding="0" HorizontalContentAlignment="Left">
<ContentControl>
<Grid Width="400" Height="200" Margin="-9,-9,-9,-9" Background="White"/>
</ContentControl>
</System_Windows_Controls:TabItem>
</System_Windows_Controls:TabControl>
Depois de passar algumas horas brincando com este problema. Brian é totalmente certo. A versão atual do VS não permite mudar o modelo do TabControl, mas isso pode ser feito usando Blend, e há uma margem sobre o modelo. A principal desvantagem de fazer isso é que o arquivo XAML não poderá ser visualizado a partir do Visual Studio.