2017-02-23 11 views
1

水平スクロールバーのサイズと表示を変更しようとしています。現在、スクロールバーは、リストビュー項目を移動したときにのみ表示されます。 私はそれを大きくし、それに色を加える必要があります。それはplzのためのスタイルを使用することはできますか?XAMLのサイズ変更と水平スクロールバーの表示

<ListView x:Name="listview" ScrollViewer.HorizontalScrollBarVisibility="Visible" ItemsSource="{Binding Path=YourCollection}" 
        GotFocus="StackPanel_GotFocus" IsItemClickEnabled="True" ItemClick="ListView_ItemClick" Margin="125,262,125,19"> 
      <ListView.ItemsPanel> 
       <ItemsPanelTemplate> 
        <StackPanel Orientation="Horizontal" Height="200"/> 
       </ItemsPanelTemplate> 
      </ListView.ItemsPanel> 

      <ListView.ItemTemplate> 
       <DataTemplate> 
        <StackPanel Orientation="Vertical" Height="200" Width="256"> 
         <StackPanel Orientation="Horizontal"> 
          <Image Source="{Binding Image}" Height="144" Width="256" HorizontalAlignment="Stretch" VerticalAlignment="Top"/> 
         </StackPanel> 
         <StackPanel Orientation="Horizontal"> 
          <TextBlock Text="{Binding Title}" Height="56" Width="256" HorizontalAlignment="Stretch" VerticalAlignment="Bottom"/> 
         </StackPanel> 
        </StackPanel> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 

答えて

0

ListViewとその内部のScrollViewerとScrollBarにカスタムスタイルを作成できます。

あなたがここにオーバーライドするスタイルの定義があります:あなたはあなたのアプリケーションのすべてのスクロールバーを変更したい場合は上書き、

ScrollBarスタイルで十分です

このカスタムスタイルをListView内でのみ適用する場合は、より複雑になります。

カスタムのScrollBarスタイルを作成して、必要なプロパティを変更する必要があります。 次にカスタムScrollBarスタイルを参照/使用するカスタムScrollViewerスタイルを作成します。 最後にカスタムScrollViewerスタイルを参照/使用するカスタムListViewスタイルを作成します。

これは、次のようになります。

リストビュースタイル:

<Style TargetType="ListView" x:Key="MyListViewStyle"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="ListView"> 
       <Border> 
        <ScrollViewer x:Name="ScrollViewer" Style={StaticResource myCustomScrollViewerStyle" /> 
       </Border> 
      </ControlTemplate> 
    </Setter> 
</Style > 

ScrollViewerのスタイル:

<Style TargetType="ScrollViewer" x:Key="myCustomScrollViewerStyle"> 
    ... 
    <ScrollBar x:Name="VerticalScrollBar" Style={StaticResource myCustomScrollBarStyle}" /> 
    <ScrollBar x:Name="HorizontalScrollBar" Style={StaticResource myCustomScrollBarStyle}" /> 
    ... 
</Style> 

スクロールバーのスタイル:

<Style TargetType="ScrollBar" x:Key="myCustomScrollBarStyle"> 
    ... 
    <Setter Property="Background" Value="Red" /> 
    <Setter Property="Foreground" Value="Green" /> 
    ... 
</Style> 
関連する問題