如何使Windows 10 pivot / tab标题全屏宽度

如何使枢轴/标签标题使每个单独的标签具有相同的宽度并拉伸枢轴标题的整个宽度而不是延伸到屏幕外(特别是对于移动设备)? 我还没有找到如何做到这一点的例子。

这就是我想要实现的目标:

这就是我想要实现的目标。

如何使枢轴/标签标题使每个标签具有相同的宽度并拉伸整个宽度

这可能无法通过设置pivot的样式来实现。 但这可以通过ViewTreeHelper类轻松实现。 我们可以尝试通过pivot头的实际宽度和总头项计数来计算每个头项的宽度。 并手动设置宽度,然后标题项将拉伸整个宽度。

代码示例如下:

                                                                                                             

代码背后:

  private static IEnumerable FindVisualChildren(DependencyObject depObj) where T : DependencyObject { if (depObj != null) { for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++) { DependencyObject child = VisualTreeHelper.GetChild(depObj, i); if (child != null && child is T) { yield return (T)child; } foreach (T childOfChild in FindVisualChildren(child)) { yield return childOfChild; } } } } private void Page_Loaded(object sender, RoutedEventArgs e) { IEnumerable headerpanel = FindVisualChildren(CustomPivot); double totalwidth = headerpanel.ElementAt(0).ActualWidth; IEnumerable items = FindVisualChildren(CustomPivot); int headitemcount = items.Count(); for (int i = 0; i < headitemcount; i++) { items.ElementAt(i).Width = totalwidth / headitemcount; } } 

有关自定义用户控件TabHeader代码,请参阅官方示例 。

结果如下: 在此处输入图像描述