トップ回答者
ScrollViewerの子要素にListBoxを追加した場合の、ListBoxのHeightについて

質問
-
TweetDeckや、Seesmicのマルチカラムの様なデザインを作成したいと考えています。
http://www.tweetdeck.com/desktop/
http://seesmic.com/seesmic_desktop/
実現方法としては
ScrollViewerにListBoxを横方向にn個追加して
ListBoxは、ScrollViewerの横スクロールで表示させる。
ListBoxのItemは、各ListBoxの縦スクロールで表示しようと考えています。
ただ、ここで一つ問題が発生しました。
ListBoxに縦スクロールバーが表示されるくらいのItemを追加しても、なぜか縦スクロールバーが表示されません。
どうやらScrollViewerの中に入れてしまうと、自動でListBox内の要素が全て表示できる高さになってしまい
Windowの高さを超えた場合は、超えた部分は見えなくなってしまいます。
この状況でListBoxの縦スクロールバーを使用可能にする方法を教えて頂ければと思ってます。
それか、代替案等でも良いのでよろしくお願いします。
※Yahoo!知恵袋でも同じ質問をしていましたが、使い勝手が悪かったのでクローズして、こちらで再度質問をしています。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1044793595
以下、ソースです。
■Window1.xaml
<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:src="clr-namespace:WpfApplication1"
Title="Window1" Height="100" Width="230">
<Grid>
<ScrollViewer VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Visible"><StackPanel Orientation="Horizontal">
<StackPanel.Resources>
<Style x:Key="ListStyle" TargetType="{x:Type ListBox}">
<Setter Property="Height" Value="Auto"/>
<Setter Property="Width" Value="100"/>
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
</Style>
</StackPanel.Resources>
<ListBox Name="list1" Style="{StaticResource ListStyle}"/>
<ListBox Name="list2" Style="{StaticResource ListStyle}"/>
<ListBox Name="list3" Style="{StaticResource ListStyle}"/>
</StackPanel>
</ScrollViewer>
</Grid>
</Window>
■Window1.xaml.vb
Imports System.Collections.ObjectModel
Class Window1
Private Sub MainWindow_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
Dim a1 As New ObservableCollection(Of String)
Dim a2 As New ObservableCollection(Of String)
Dim a3 As New ObservableCollection(Of String)
a1.Add("list1")
a1.Add("list1")
a1.Add("list1")
a1.Add("list1")
a1.Add("list1")
list1.ItemsSource = a1
a2.Add("list2")
a2.Add("list2")
a2.Add("list2")
a2.Add("list2")
a2.Add("list2")
list2.ItemsSource = a2
a3.Add("list3")
a3.Add("list3")
a3.Add("list3")
a3.Add("list3")
a3.Add("list3")
list3.ItemsSource = a3
End Sub
End Class