2016-07-11 26 views
4

次のコードでは、スクロールバーコントロールは表示されませんが、スライダコントロールは表示されます。スクロールバーをスライダに変更するだけで、スクロールバーコントロールをスライダコントロールに変更すると、完全に機能しますが、アプリケーションのスライダ上のスクロールバーコントロールの外観が好きです。XAML UWAスクロールバーが表示されない

Win2Dを使用してアニメーションキャンバスに手動で大きな1000セル×1000セルグリッドを描画していますが、スクロールバー(スライダ)の位置を使用してスクロールした部分のみを表示します。

スライダコントロールを使用すると完全に機能します。

<Page 
x:Class="TrappedEditor.MainPage" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:local="using:TrappedEditor" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
xmlns:canvas="using:Microsoft.Graphics.Canvas.UI.Xaml" 
Unloaded="Page_Unloaded" 
mc:Ignorable="d"> 

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" SizeChanged="Grid_SizeChanged"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="1*"/> 
      <ColumnDefinition Width="50"/> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="50"/> 
     </Grid.RowDefinitions> 
     <ScrollBar x:Name="scrollBarVertical" Visibility="Visible" Grid.Row="0" Grid.Column="1" ValueChanged="scrollBarVertical_ValueChanged" Orientation="Vertical" Minimum="0" Maximum="1000"/> 
     <Slider x:Name="scrollBarHorizontal" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Orientation="Horizontal" ValueChanged="scrollBarHorizontal_ValueChanged" Minimum="0" Maximum="1000"/> 
     <canvas:CanvasAnimatedControl Grid.Row="0" Grid.Column="0" x:Name="canvas" Draw="canvas_Draw" CreateResources="canvas_CreateResources"/> 
    </Grid> 

答えて

1

これを解決しました。 IndicatorMode = "MouseIndicator"を追加すると、期待通りにスクロールバーが表示されます。

例:

<ScrollBar x:Name="scrollBarVertical" IndicatorMode="MouseIndicator" Visibility="Visible" Grid.Row="0" Grid.Column="1" ValueChanged="scrollBarVertical_ValueChanged" Orientation="Vertical" Minimum="0" Maximum="1000"/> 
0

TLDR。

ScrollViewでスクロールする必要があるものすべてを変形します。

関連する問題