2016-10-28 10 views
1

2列のページがあります 各列にはスタックパネルに含まれるコントロールがあります スタックパネルはボーダーに含まれています。UWP XAML GridViewで垂直方向のスペースを塗りつぶす

国境 のStackPanel ..... のGridView /StackPanelの /ボーダー

私はボーダーが画素値にminHeightのを設定せずに垂直方向の高さを埋めるためにしたいです。

意味ボーダーがグリッドビューで拡大縮小しないようにするには、同じサイズで、列を塗りつぶして余白を尊重する必要があります。

<StackPanel x:Name="RightColumn" 
     Grid.Column="1" 
     Margin="10,20,20,20"> 

    <TextBlock FontWeight="Bold" Text="Tags" /> 

    <Border BorderBrush="{StaticResource DGreen}" 
     MinHeight="500" 
      BorderThickness="2" 
      Padding="10"> 
     <StackPanel > 

      <TextBox Width="120" 
       HorizontalAlignment="Left" 
       KeyDown="{x:Bind ViewModel.AddNewTag}" 
       PlaceholderText="Add New Tag" 
       Text="{x:Bind ViewModel.NewTagToAdd, Mode=TwoWay}" /> 

      <TextBlock Margin="0,10,0,0" 
       FontWeight="Bold" 
       Text="Add Tags from this list" /> 

      <GridView Margin="0,10,0,0" MaxHeight="416" VerticalAlignment="Stretch" 
       ItemsSource="{x:Bind ViewModel.SD.TagsAvailableForSelecting}" 
       SelectionChanged="{x:Bind ViewModel.AddTagToSelectedTags, Mode=OneWay}"> 

       <GridView.ItemTemplate> 
        <DataTemplate x:DataType="dat:TagDTO"> 
         <Border Width="90" Background="{StaticResource DGreen}"> 
          <TextBlock Margin="3" 
           Foreground="{StaticResource ContrastColorBrush}" 
           Text="{x:Bind TagName}" /> 
         </Border> 
        </DataTemplate> 
       </GridView.ItemTemplate> 

      </GridView> 

     </StackPanel> 

    </Border> 

</StackPanel> 

答えて

2
はあなたの最初の StackPanel Gridに変更し

。それはそれが完全な利用可能なスペースを埋めることができるように。 TextBoxは、Autoに設定された第1の行に行き、第2のBorderは、*と設定された第2の行に移動します。

以下は、あなたの例のモックアップです。

<Grid x:Name="RightColumn" 
     Grid.Column="1" 
     Margin="10,20,20,20"> 

     <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 

    <TextBlock FontWeight="Bold" Text="Tags" Grid.Row="0" /> 

    <Border BorderBrush="{StaticResource DGreen}" Grid.Row="1" 
      MinHeight="500" BorderThickness="2" Padding="10"> 
     <StackPanel> 
      <TextBox Width="120" 
       HorizontalAlignment="Left" 
       KeyDown="{x:Bind ViewModel.AddNewTag}" 
       PlaceholderText="Add New Tag" 
       Text="{x:Bind ViewModel.NewTagToAdd, Mode=TwoWay}" /> 
      <TextBlock Margin="0,10,0,0" 
       FontWeight="Bold" 
       Text="Add Tags from this list" /> 
      <GridView Margin="0,10,0,0" MaxHeight="416" VerticalAlignment="Stretch" 
       ItemsSource="{x:Bind ViewModel.SD.TagsAvailableForSelecting}" 
       SelectionChanged="{x:Bind ViewModel.AddTagToSelectedTags, Mode=OneWay}"> 
       <GridView.ItemTemplate> 
        <DataTemplate x:DataType="dat:TagDTO"> 
         <Border Width="90" Background="{StaticResource DGreen}"> 
          <TextBlock Margin="3" 
           Foreground="{StaticResource ContrastColorBrush}" 
           Text="{x:Bind TagName}" /> 
         </Border> 
        </DataTemplate> 
       </GridView.ItemTemplate> 
      </GridView> 
     </StackPanel> 
    </Border> 
</Grid> 
+0

はい、今は覚えていますが、グリッドセルがいっぱいです。 AVK Naiduに非常に感謝します。 – Terrence

+0

もう一度試してみましょう。 はい、今は覚えています、グリッドセルがいっぱいです。非常にAVK Naiduありがとうございます。 – Terrence

関連する問題