0

不知道为什么,但是将我的 pivotviewer 应用程序从 Silverlight 4 迁移到 Silverlight 5 改变了一些事情。

当我过去切换到 graphview 时,我的类别习惯于组合成一些范围,如图所示(在 SL4 中)

在此处输入图像描述

现在发生了一些变化,每个类别在 graphview 中都有自己的列。

在此处输入图像描述

我想回到旧的行为,但我不知道如何禁用它。此外,滚动查看器位于枢轴查看器的底部。

试着像这样玩 ScrollViewer。

<pivot:PivotViewer x:Name="PivotMainPage" ItemsSource="{Binding}" ScrollViewer.VerticalScrollBarVisibility="Hidden" />

似乎它不想工作。有什么建议吗?

我怀疑它与容器的宽度和高度有关。似乎最小 MinHeight = 250 e MinWidth = 450 会影响 pivotviewer 超出列的边界。

编辑。我删掉了所有无用的东西,才发现Pivotviewer 随意决定何时使用scrollviewer。我可以找到一种方法来禁用它。现在的行为是旧 SL4(一些项目被分组)和新 SL5(即使项目被分组,滚动条可用)之间的混合。

这是SL5中第一张图片的示例!

在此处输入图像描述

这是新代码:

<UserControl x:Class="PVClean.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:pivot="clr-namespace:System.Windows.Controls.Pivot;assembly=System.Windows.Controls.Pivot"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">

    <Grid x:Name="LayoutRoot" Background="White">

            <pivot:PivotViewer x:Name="PivotMainPage" ItemsSource="{Binding}" ScrollViewer.VerticalScrollBarVisibility="Hidden"  />


    </Grid>
</UserControl>

这是后面的代码:

public MainPage()
        {
            InitializeComponent();
            PivotMainPage.Loaded += pViewer_Loaded;
        }



        void pViewer_Loaded(object sender, RoutedEventArgs e)
        {
            _cxml = new CxmlCollectionSource(new Uri("http://pivot.blob.core.windows.net/msdn-magazine/msdnmagazine.cxml", UriKind.Absolute));
            _cxml.StateChanged += _cxml_StateChanged;
        }

        void _cxml_StateChanged(object sender,
                               CxmlCollectionStateChangedEventArgs e)
        {
            if (e.NewState == CxmlCollectionState.Loaded)
            {
                PivotMainPage.PivotProperties =
                           _cxml.ItemProperties.ToList();
                PivotMainPage.ItemTemplates =
                           _cxml.ItemTemplates;
                PivotMainPage.ItemsSource =
                           _cxml.Items;
            }
        }
4

1 回答 1

1

SL5 PivotViewer 中编码了一个限制,它确定(可能基于控件的宽度)有多少“桶”是最大值。如果您有超过此最大值,它将开始对它们进行分组。

但是,为了回答您的问题,我同意 - 他们编码的方式并不完美 - 即使项目被分组,它仍然显示滚动条。这是我们必须忍受的另一件事,除非发布新版本。我错过了 SL4 的一个功能是您能够为直方图(而不是 AZ)指定排序。

于 2013-01-08T00:33:42.230 回答