如何在Silverlight中放置标签页的内容?
时间:2020-03-06 14:29:41 来源:igfitidea点击:
当我将控件放置在Silverlight中的选项卡上时,控件向下放置约10个像素,右侧放置约10个像素。例如,以下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>
将产生:
替代文字http://i34.tinypic.com/8z1u1t.jpg
如何将内容定位为0,0?
解决方案
检查TabItem的控件模板,它的默认裕度可能为10.
看一下控件模板,它的边距为该大小。使用blend修改选项卡控件模板的副本。
在花了几个小时后才解决这个问题。布莱恩完全正确。当前版本的VS不允许更改TabControl的模板,但是可以使用Blend来完成,并且模板上有空白。这样做的主要缺点是XAML文件将不再可从Visual Studio预览。
我们还可以为内容添加负边距。我发现该值为9像素...
<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>