0

理由はわかりませんが、pivotviewer アプリケーションを Silverlight 4 から Silverlight 5 に移行したことで、いくつかのことが変わりました。

以前グラフビューに切り替えたとき、カテゴリはこの図のようにいくつかの範囲にグループ化されていました (SL4)

ここに画像の説明を入力

ここで何かが変更され、各カテゴリがグラフビューに独自の列を持ちます。

ここに画像の説明を入力

以前の動作に戻したいのですが、無効にする方法がわかりません。さらに、スクロールビューアはピボットビューアの下部にあります。

このようにScrollViewerで遊んでみました。

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

働きたくないようです。なにか提案を?

コンテナの幅と高さと関係があるのではないかと思います。最小の MinHeight = 250 e MinWidth = 450 は、列の境界を超えるようにピボットビューアーに影響を与えるようです。

編集。役に立たないものをすべて切り取ったところ、Pivo​​tviewer がいつスクロールビューアーを使用するかを任意に決定していることを発見しました。無効にする方法を見つけることができます。現在の動作は、古い 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にコード化された制限があり、これは(おそらくコントロールの幅に基づいて)最大の「バケット」の数を決定します。この最大値を超える場合は、グループ化が開始されます。

しかし、あなたの質問に答えるために、私は同意します-彼らがそれをコーディングした方法は完璧ではありませんでした-アイテムがグループ化されていても、それはまだスクロールバーを表示します。新しいバージョンをリリースしない限り、これは私たちが生きなければならないもう1つのことです。SL4で見逃している機能の1つは、(AZではなく)ヒストグラムの並べ替えを指定できたことです。

于 2013-01-08T00:33:42.230 に答える