2016-11-23 15 views
1

タブレットまたは携帯電話のメニューのようなヘッダーメニューを作成したいという問題があります。それはこのように見えますが、私たちは7ボタンを見て、8ボタンはStackpanelの表示エリアの外にあります。WPFスクロールビューワスクロールバーなしでスクロールバーが表示されますが、マウスで表示されます。

私はのStackPanelをクリックすると、私は、左右キーでスクロールを水平にすることが、私は私のマウス・ボタンが押されたときに、そのICHはまた、それをスクロールできることをしたい:D

私にはありませんこのようenything見つけるので、私はあなたが私を助けることができることを願っています:D

おかげ

enter image description here

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="200"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="200"/> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="110"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="100"/> 
    </Grid.RowDefinitions> 
    <Rectangle Name="rectangel1" Grid.RowSpan="3"> 
     <Rectangle.Fill> 
      <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
       <GradientStop Color="#FF0036A0" Offset="0.003"/> 
       <GradientStop Color="#FFE9EDFF" Offset="1"/> 
      </LinearGradientBrush> 
     </Rectangle.Fill> 
    </Rectangle> 
    <Grid Grid.Column="1" Grid.ColumnSpan="2"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="20"/> 
      <ColumnDefinition Width="750"/> 
      <ColumnDefinition Width="20"/> 
     </Grid.ColumnDefinitions> 
     <ScrollViewer Name="scrollviewer1" Grid.Column="1" Grid.ColumnSpan="2" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Disabled"> 

      <StackPanel Orientation="Horizontal" Grid.Column="1" Grid.ColumnSpan="1"> 
       <Grid Width="87" Height="90" Margin="10,10,10,10"> 
        <Rectangle Name="btn1" Fill="#FFF39999" RadiusX="10" RadiusY="10" /> 
        <Label Content="Button 1" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/> 
       </Grid> 
       <Grid Width="87" Height="90" Margin="10,10,10,10"> 
        <Rectangle Name="btn2" Fill="#FFF39999" RadiusX="10" RadiusY="10" /> 
        <Label Content="Button 2" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/> 
       </Grid> 
       <Grid Width="87" Height="90" Margin="10,10,10,10"> 
        <Rectangle Name="btn3" Fill="#FFF39999" RadiusX="10" RadiusY="10" /> 
        <Label Content="Button 3" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/> 
       </Grid> 
       <Grid Width="87" Height="90" Margin="10,10,10,10"> 
        <Rectangle Name="btn4" Fill="#FFF39999" RadiusX="10" RadiusY="10" /> 
        <Label Content="Button 4" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/> 
       </Grid> 
       <Grid Width="87" Height="90" Margin="10,10,10,10"> 
        <Rectangle Name="btn5" Fill="#FFF39999" RadiusX="10" RadiusY="10" /> 
        <Label Content="Button 5" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/> 
       </Grid> 
       <Grid Width="87" Height="90" Margin="10,10,10,10"> 
        <Rectangle Name="btn6" Fill="#FFF39999" RadiusX="10" RadiusY="10" /> 
        <Label Content="Button 6" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/> 
       </Grid> 
       <Grid Width="87" Height="90" Margin="10,10,10,10"> 
        <Rectangle Name="btn7" Fill="#FFF39999" RadiusX="10" RadiusY="10" /> 
        <Label Content="Button 7" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/> 
       </Grid> 
       <Grid Width="87" Height="90" Margin="10,10,50,10"> 
        <Rectangle Name="btn8" Fill="#FFF39999" RadiusX="10" RadiusY="10" /> 
        <Label Content="Button 8" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/> 
       </Grid> 
      </StackPanel> 

    </ScrollViewer> 

    <Rectangle Name="rectlinks" Grid.Column="0" Fill="#FFFF7676" MouseEnter="rectlinks_MouseEnter" /> 
    <Rectangle Name="rectrechts" Grid.Column="2" MouseEnter="rectrechts_MouseEnter" Fill="#FFFF7474" /> 
</Grid> 
+0

あなたは垂直スクロールマウスホイールが自動的に水平スクロールを指すようにしていないので、これはうまくいくはずです。私の最善の策は、マウスのホイールイベントを処理し、手動で処理することです。あなたがほしいと思うなら私はもっと説明することができます – Emad

答えて

0

質問アルを持っています準備だけで予備ソリューション、あなたが溶液で、ここでそれを見つけることができます 、スタック上に

in WPF. How to scroll Objects in ScrollViewer by mouse-dragging, like as iPhone?

を投稿されていますが、マウスの右ボタンにMousebuttonDownとアップイベントを切り替えると、そしてUは、スクロールをドラッグすることができます右ボタンを押しながら左を押す。私はちょうど左の方法を探し続けます

+0

これはほとんど動作します。今私はすべてをスライドすることはできませんが、MouseLeftButtonDownイベントがScrollイベントに使用されているため、その中のどのボタンも押すことができませんか? @PCode。 – PCode

+0

うーん、面白いですね、あなたが持っている新しいコードを投稿してください。あなたの最初の質問に答えがあるので解決策が見つかるかどうか試してみることができます。私の答えを正しいものとして記入してください:) – JohnChris

+0

@PCode、youおそらく別の質問として、人々はそれを解決しようとすることに興味があるだろう新しい問題の新しい質問を投稿する方が良いでしょう。 – JohnChris

関連する問題