理由はわかりませんが、pivotviewer アプリケーションを Silverlight 4 から Silverlight 5 に移行したことで、いくつかのことが変わりました。
以前グラフビューに切り替えたとき、カテゴリはこの図のようにいくつかの範囲にグループ化されていました (SL4)
ここで何かが変更され、各カテゴリがグラフビューに独自の列を持ちます。
以前の動作に戻したいのですが、無効にする方法がわかりません。さらに、スクロールビューアはピボットビューアの下部にあります。
このようにScrollViewerで遊んでみました。
<pivot:PivotViewer x:Name="PivotMainPage" ItemsSource="{Binding}" ScrollViewer.VerticalScrollBarVisibility="Hidden" />
働きたくないようです。なにか提案を?
コンテナの幅と高さと関係があるのではないかと思います。最小の MinHeight = 250 e MinWidth = 450 は、列の境界を超えるようにピボットビューアーに影響を与えるようです。
編集。役に立たないものをすべて切り取ったところ、Pivotviewer がいつスクロールビューアーを使用するかを任意に決定していることを発見しました。無効にする方法を見つけることができます。現在の動作は、古い 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;
}
}