2014-02-20 69 views
1

在我的Windows商店應用我想有兩個列表視圖,並排側。不能在網格移動XAML元素到另一個細胞

我試圖做到這一點有一個2x2的方格,默認網格是這樣

<Grid Grid.Row="1" HorizontalAlignment="Stretch" Margin="0,0,0,20"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="*" x:Name="FromUnitSelectorColumn" /> 
        <ColumnDefinition Width="*" x:Name="ToUnitSelectorColumn" /> 
       </Grid.ColumnDefinitions> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="*" x:Name="FromUnitSelectorRow" /> 
        <RowDefinition Height="auto" x:Name="ToUnitSelectorRow" /> 
       </Grid.RowDefinitions> 
       <ListView Name="FromUnitSelector" Header="Converting From " Margin="0,0,10,0" Grid.Row="0" Grid.Column="0"> 
        <ListView.ItemTemplate> 
         <DataTemplate> 
          <Grid> 
           <Grid.ColumnDefinitions> 
            <ColumnDefinition Width="auto"/> 
            <ColumnDefinition Width="*"/> 
           </Grid.ColumnDefinitions> 
           <Grid.RowDefinitions> 
            <RowDefinition Height="auto" /> 
           </Grid.RowDefinitions> 
           <Border BorderBrush="{x:Null}" Height="40" Width="40" Margin="5,0,0,0" Background="Beige"> 
            <TextBlock Text="{Binding symbol}" HorizontalAlignment="Center" VerticalAlignment="Center" TextTrimming="Clip" FontSize="10"/> 
           </Border> 
           <Border BorderBrush="{x:Null}" Height="40" Margin="5,0,0,0" Grid.Row="0" Grid.Column="1"> 
            <TextBlock Text="{Binding name}" HorizontalAlignment="Stretch" TextAlignment="Center" VerticalAlignment="Center" FontSize="14" TextWrapping="Wrap"/> 
           </Border > 
          </Grid> 
         </DataTemplate> 
        </ListView.ItemTemplate> 
       </ListView> 
       <ListView Name="ToUnitSelector" Header="To " Margin="10,0,0,0" Grid.Row="0" Grid.Column="1"> 
        <ListView.ItemTemplate> 
         <DataTemplate> 
          <Grid> 
           <Grid.ColumnDefinitions> 
            <ColumnDefinition Width="auto"/> 
            <ColumnDefinition Width="*"/> 
           </Grid.ColumnDefinitions> 
           <Grid.RowDefinitions> 
            <RowDefinition Height="auto" /> 
           </Grid.RowDefinitions> 
           <Border BorderBrush="{x:Null}" Height="40" Width="40" Margin="5,0,0,0" Background="Beige"> 
            <TextBlock Text="{Binding symbol}" HorizontalAlignment="Center" VerticalAlignment="Center" TextTrimming="Clip" FontSize="10"/> 
           </Border > 
           <Border BorderBrush="{x:Null}" Height="40" Margin="5,0,0,0" Grid.Row="0" Grid.Column="1"> 
            <TextBlock Text="{Binding name}" HorizontalAlignment="Stretch" TextAlignment="Center" VerticalAlignment="Center" FontSize="14" TextWrapping="Wrap"/> 
           </Border> 
          </Grid> 
         </DataTemplate> 
        </ListView.ItemTemplate> 
       </ListView> 
      </Grid> 

我試圖同時設置列表視圖要在我的visualSTATE薄帶

這個垂直堆疊
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ToUnitSelectorColumn" Storyboard.TargetProperty="Width"> 
    <DiscreteObjectKeyFrame KeyTime="0" Value="auto" /> 
</ObjectAnimationUsingKeyFrames> 
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ToUnitSelectorRow" Storyboard.TargetProperty="Height"> 
    <DiscreteObjectKeyFrame KeyTime="0" Value="*" /> 
</ObjectAnimationUsingKeyFrames> 
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ToUnitSelector" Storyboard.TargetProperty="Grid.Row"> 
    <DiscreteObjectKeyFrame KeyTime="0" Value="1" /> 
</ObjectAnimationUsingKeyFrames> 
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ToUnitSelector" Storyboard.TargetProperty="Grid.Column"> 
    <DiscreteObjectKeyFrame KeyTime="0" Value="0" /> 
</ObjectAnimationUsingKeyFrames> 

但是當我測試它,我得到這個異常「的WinRT信息:指定對象無法解析TargetProperty Grid.Row。」

我需要做什麼來改變我的第二個ListView到另一個行和列?我意識到使用一個堆棧面板,我可以簡單地改變方向,但是我需要一個網格,以便儘可能延伸。

+0

爲什麼不把它們在[WrapGrid(http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.wrapgrid),並用它做什麼? –

+3

Grid.Row是一個附加屬性,所以我會嘗試加上它 - '(Grid.Row)' –

+0

Thanks @FilipSkakun – Munodi

回答

0

對於這樣的急劇改變佈局有時有意義簡單地具有兩個不同的佈局和其中一方使用模板或通過隱藏/顯示這些佈局的容器進行切換。

相關問題