2012-07-13 75 views
2

我有2个列表框和一个滚动查看器,我希望scrollviewer将两个列表框一起滚动。但我不知道该怎么做。这里是我的XAML:两个列表框的一个滚动查看器

 <ScrollViewer Grid.Row="1"> 
     <Grid> 
      <ListBox Name="listboxRSSFeedItems" Width="240" Height="644" Margin="0,0,240,0"> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <Grid> 
          <Grid.RowDefinitions> 
           <RowDefinition Height="Auto" /> 
           <RowDefinition Height="Auto" /> 
          </Grid.RowDefinitions> 
          <TextBlock TextWrapping="Wrap" Text="{Binding Title}" Grid.Row="0" FontSize="24" HorizontalAlignment="Left" /> 
          <HyperlinkButton Content="Link to details" NavigateUri="{Binding Link}" HorizontalAlignment="Left" Grid.Row="1" Margin="0,0,0,30" /> 
         </Grid> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 
      <ListBox Name="listboxRSSFeedItems2" Width="240" Height="644" Margin="240,0,0,0"> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <Grid> 
          <Grid.RowDefinitions> 
           <RowDefinition Height="Auto" /> 
           <RowDefinition Height="Auto" /> 
          </Grid.RowDefinitions> 
          <TextBlock TextWrapping="Wrap" Text="{Binding Title}" Grid.Row="0" FontSize="24" HorizontalAlignment="Left" /> 
          <HyperlinkButton Content="Link to details" NavigateUri="{Binding Link}" HorizontalAlignment="Left" Grid.Row="1" Margin="0,0,0,30" /> 
         </Grid> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 
     </Grid> 
    </ScrollViewer> 

非常感谢


确定。我只是试图用grid来做一个列表框。它工作正常,但如何选择哪个网格添加我的项目。 我曾经添加“listboxRSSFeedItems.Items.Add(item)”,但现在,我该如何选择第二列。

<ScrollViewer Grid.Row="1"> 
     <ListBox x:Name="listboxRSSFeedItems" Width="480" Height="680"> 
      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <Grid> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition /> 
          <ColumnDefinition /> 
         </Grid.ColumnDefinitions> 
         <Grid x:Name="first" Grid.Column="0"> 
          <TextBlock TextWrapping="Wrap" Text="{Binding Title}" /> 
          <HyperlinkButton NavigateUri="{Binding URL}" TargetName="_blank"/> 
         </Grid> 
         <Grid x:Name="second" Grid.Column="1"> 
          <TextBlock TextWrapping="Wrap" Text="{Binding Title}" /> 
          <HyperlinkButton NavigateUri="{Binding URL}" TargetName="_blank" /> 
         </Grid> 
        </Grid> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 
    </ScrollViewer> 

再次感谢

+0

尝试使用两个堆叠面板的列表框 – 2012-07-13 11:24:21

+0

您是否需要从列中选择项目或仅显示它们的能力? – 2012-07-13 14:27:56

+0

只需显示它们。点击并打开网页,它的工作原理,但我不知道如何选择正确的列... :( – TDK 2012-07-13 21:22:27

回答

0

你不应该设置你的列表框的高度。

PS:使用设置VerticalScrollBarVisibility为 “已禁用” 的列表框列

<ScrollViewer > 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition /> 
       <ColumnDefinition /> 
      </Grid.ColumnDefinitions> 
      <ListBox x:Name="first" Grid.Column="0" /> 

      <ListBox x:Name="second" Grid.Column="1" /> 
     </Grid> 
    </ScrollViewer> 
+0

它应该是'RowDefinition'而不是列他试图垂直滚动。 – abdhoms 2014-08-06 23:12:48

0

考虑布局。 而使用StackPanel代替Grid这个puprose会更好。