2015-12-22 5 views
0

У меня есть столбец Grid, и у меня есть список в нем. Я заполняю его из формы, которая находится в другом столбце. Значения, введенные в форму, сохраняются в списке. Я хочу, чтобы этот список отображался в списке. Когда текст, введенный в форму, увеличивает оставшиеся значения, исчезает. Я хочу, чтобы этот столбец прокручивался по горизонтали, чтобы значения не исчезали.Как сделать столбец сетки прокручивать по горизонтали в приложениях метро?

Это то, что я пытался до сих пор ..

<Grid Grid.Column="2" Margin="0,0,46,10" ScrollViewer.HorizontalScrollBarVisibility="Visible"> 
       <ScrollViewer HorizontalScrollMode="Auto" HorizontalScrollBarVisibility="Auto" VerticalScrollMode="Disabled" VerticalScrollBarVisibility="Hidden" Margin="0,0,-60,10"> 
       <ListView x:Name="lsvLessons" IsItemClickEnabled="True" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollMode="Enabled" ScrollViewer.HorizontalScrollBarVisibility="Auto" BorderThickness="1" SelectionMode="Multiple" ItemsSource="{Binding Source={StaticResource cvsLessons}}" Margin="7,0,62,0"> 
        <ListView.ItemsPanel> 
         <ItemsPanelTemplate> 
          <WrapGrid Orientation="Vertical" HorizontalChildrenAlignment="left"/> 
         </ItemsPanelTemplate> 
        </ListView.ItemsPanel> 
        <ListView.ItemContainerStyle> 
         <Style TargetType="ListViewItem"> 
          <Setter Property="Padding" Value="0"/> 
          <Setter Property="Margin" Value="-12"/> 
         </Style> 
        </ListView.ItemContainerStyle> 
        <ListView.ItemTemplate> 
         <DataTemplate > 
          <StackPanel Orientation="Horizontal" Width="375" Height="20" Background="Transparent" HorizontalAlignment="Left"> 
           <StackPanel Width="230" VerticalAlignment="Center" Margin="15,5,0,0"> 
            <TextBlock Text="{Binding Name}" Foreground="white" FontSize="14" Margin="0,3,0,0" FontWeight="Normal" VerticalAlignment="Center" HorizontalAlignment="Left"/> 
           </StackPanel> 
          </StackPanel> 
         </DataTemplate> 
        </ListView.ItemTemplate> 
       </ListView> 
       </ScrollViewer> 
      </Grid> 

Кто-то пожалуйста, помогите мне сделать это.

Любой вид помощи ценится ....

ответ

1

Вы пытались сделать это без контроля ScrollViewer? и Включить режим горизонтальной прокрутки?

Попробуйте это:

<Grid Grid.Column="2" Margin="0,0,46,10" ScrollViewer.HorizontalScrollBarVisibility="Visible"> 
          <ListView x:Name="lsvLessons" IsItemClickEnabled="True" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollMode="Enabled" ScrollViewer.HorizontalScrollBarVisibility="Auto" BorderThickness="1" SelectionMode="Multiple" ItemsSource="{Binding Source={StaticResource cvsLessons}}" Margin="7,0,62,0" ScrollViewer.HorizontalScrollMode="Enabled" > 
       <ListView.ItemsPanel> 
        <ItemsPanelTemplate> 
         <WrapGrid Orientation="Vertical" HorizontalChildrenAlignment="left"/> 
        </ItemsPanelTemplate> 
       </ListView.ItemsPanel> 
       <ListView.ItemContainerStyle> 
        <Style TargetType="ListViewItem"> 
         <Setter Property="Padding" Value="0"/> 
         <Setter Property="Margin" Value="-12"/> 
        </Style> 
       </ListView.ItemContainerStyle> 
       <ListView.ItemTemplate> 
        <DataTemplate > 
         <StackPanel Orientation="Horizontal" Width="375" Height="20" Background="Transparent" HorizontalAlignment="Left"> 
          <StackPanel Width="230" VerticalAlignment="Center" Margin="15,5,0,0"> 
           <TextBlock Text="{Binding Name}" Foreground="white" FontSize="14" Margin="0,3,0,0" FontWeight="Normal" VerticalAlignment="Center" HorizontalAlignment="Left"/> 
          </StackPanel> 
         </StackPanel> 
        </DataTemplate> 
       </ListView.ItemTemplate> 
      </ListView> 

     </Grid> 

Добавление ScrollViewer.HorizontalScrollMode = "Включено" & Удаление элемента управления ScrollViewer ..

UPDATE:

Вы можете добиться того, что без использования колонок .. вот моя попытка:

<Grid x:Name="rootGrid"> 

      <ScrollViewer HorizontalScrollMode="Enabled" > 
       <StackPanel Orientation="Horizontal" > 


        <Grid x:Name="form" > 
         <!-- your form here.. --> 
        </Grid> 
        <Grid x:Name="list" > 
         <!-- your listview here.. --> 
        </Grid> 

       </StackPanel> 
      </ScrollViewer> 

     </Grid> 

Удачи :)

+0

мне нужно принимать входной сигнал от 3 текстового поля и отображения в строке .. в соответствии с этим я могу получить только 1 текстовое поле, если символы увеличить .. – kirushan

+0

я не конечно, что вы говорите .. вы не упомянули, что .. можете ли вы обновить свои qs? –

+0

Я отредактировал вопрос четко. Надеюсь, это поможет понять мою проблему. – kirushan