以下 XAML 显示了 Windows Phone 8.1 通用应用页面的内容。这个想法是在一个枢轴的顶部有一个酒吧。但是枢轴与条重叠,而蓝色示例网格按预期工作。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Background="{StaticResource PhoneAccentBrush}" Height="50" />
<Pivot Grid.Row="1" Background="Green" Width="200" HorizontalAlignment="Left" />
<Grid Grid.Row="1" Background="Blue" Width="200" HorizontalAlignment="Right" />
</Grid>
生成的页面如下所示:
这个“负利润率”从何而来?
如何避免?
顺便说一句: 仅设置边距不是解决方案,因为它会引入其他问题,例如使用 SemanticZoom 控件时会跳转 GUI,我需要知道问题的根本原因才能解决它...
信息:Windows Phone Pivot 似乎会根据当前屏幕设置自动更改边距(显示/隐藏状态栏)。因此,如果您的应用程序在某些情况下更改了状态栏的状态,您最终将拥有一个跳跃/更改的枢轴控件。
最佳答案
我找到了一个解决方案并为 Pivot 控件创建了一个简单的附加属性。
附加属性可以这样使用:
<Pivot controls:PivotExtensions.DisableAutoMargin="True">
<PivotItem Header="A">
...
</PivotItem>
<PivotItem Header="B">
...
</PivotItem>
</Pivot>
可以在这里找到具有附加属性的类: http://mytoolkit.codeplex.com/SourceControl/latest#MyToolkit.Extended.WinRT/Controls/PivotExtensions.cs
缺点:您不能再覆盖模板,因为附加属性已经更改了模板...
关于c# - 枢轴重叠 WP 8.1 通用应用程序中的其他元素(并自动更改边距),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24752412/