こんにちは、ありがとう!WPF/XAMLでグリッド行をスクロールするにはどうすればよいですか?
背景
私は1つの列と2列からなるグリッドレイアウトを持つWPFでシンプルで小さなアプリを作ってきました。一番上の行はヘッダーのシンプルなラベルを保持し、一番下の行は実行時にイメージサムネイルで動的に生成されるラッパーパネルを保持します。
<Window x:Class="HTNavigator.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" WindowState="Maximized" WindowStyle="None">
<Window.Background>
<ImageBrush ImageSource="/HTNavigator;component/Images/HNBG.jpg" />
</Window.Background>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="75"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<StackPanel Grid.Column="0" Grid.Row="0" Height="50" HorizontalAlignment="Left" Margin="30,10,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="Auto" FlowDirection="LeftToRight" Orientation="Horizontal" >
<Label Content="Home Navigator v0.1" FontFamily="Tahoma" FontSize="18" FontWeight="Bold" Foreground="White" />
<Button Content="Close" Height="50" Click="Button_Click"></Button>
</StackPanel>
<ScrollViewer Grid.Row="1" Name="MyScrollViewer" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
<WrapPanel HorizontalAlignment="Center" Name="spContainer" VerticalAlignment="Top" ClipToBounds="True"></WrapPanel>
</ScrollViewer>
</Grid>
</Window>
問題
スクロールバーが表示されていないと、マウスホイールのスクロールでも動作しない:ここではXAMLです。私はもともとグリッドレイアウトを使用していない、と、この時点でXAMLのこの部分は期待通りに振る舞っ:(
<ScrollViewer Name="MyScrollViewer" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
<WrapPanel HorizontalAlignment="Center" Name="spContainer" VerticalAlignment="Top" ClipToBounds="True" ItemHeight="Auto"> </WrapPanel>
</ScrollViewer>
今すぐすべてが適切にレイアウトするが、私は私の垂直スクロール能力を得ることはありません、私はしないでください水平スクロールが必要です)。
どのような考えですか?
ありがとうございます!
マット
あなたはどういうことを言っていますか?新しい年のイブは、ほぼ14h前でした! SCNR :) – ChrisWue
ハハ、申し訳ありませんが、すべての良い点。実際には、祝う前にこの質問を急いでしようとすると問題です! Wrappanelは実行時にコンテンツを取得します。私はあなたが言及した他の事を試みます。ありがとう! –
もう一度ありがとうBalamBalam - あなたにも新年あけましておめでとう! –