2017-10-10 11 views
0

UWPアプリのXAMLコントロールがスタックパネルに配置されていない

グリッドにスタックパネルがあり、向きが水平です。ボタン、テキストブロック、さらに2つのボタンを順番に表示したい。

スタックパネルは、それ自身のグリッドの行を占有します。

スタックパネルでは、2つのボタンが右側の境界に揃っていません。彼らは75%のポジションでぶらぶらしている。 Horizo​​ntalOrientation属性を使用すると、これらの2つのボタンタグに違いはありません。

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <Grid Grid.Row="0"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto"/> 
      <ColumnDefinition Width="*"/> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition Height="Auto" /> 
     </Grid.RowDefinitions> 
<StackPanel Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" Orientation="Horizontal"> 
     <Button x:Name="btnShow" Margin="0,0,5,0">Show</Button> 
      <TextBlock HorizontalAlignment="Stretch">Nothing searched for yet</TextBlock> 
      <Button x:Name="btnLeft" HorizontalAlignment="Right" Margin="5,0,5,0">&lt;</Button> 
      <Button x:Name="btnRight" HorizontalAlignment="Right">></Button> 


     </StackPanel></Grid></Grid> 

enter image description here

+0

Buttonに 'Horizo​​ntalAlignment =" Right ""を設定する代わりに、 'StackPanel'自体に設定してください。 – AVK

+0

これは、グループ全体を右側に移動させて、左に大きな隙間を残しました。 – VinceP1974

+0

「幅」の列をGridに追加し、TextBoxをその列に移動します。最後の列には、右に移動したいボタンだけが含まれている必要があります。 – AVK

答えて

0

これはあなたの要件に応じて動作するはずです。

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <Grid Grid.Row="0"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto"/> 
      <ColumnDefinition Width="*"/> 
      <ColumnDefinition Width="Auto" /> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition Height="Auto" /> 
     </Grid.RowDefinitions> 
     <Button x:Name="btnShow" Margin="0,0,5,0" 
       Content="Show" Grid.Row="3" /> 
     <TextBlock HorizontalAlignment="Stretch" Text="Nothing searched for yet" 
        Grid.Column="1" Grid.Row="3" VerticalAlignment="Center" /> 
     <StackPanel Grid.Row="3" Grid.Column="2" Orientation="Horizontal" > 
      <Button x:Name="btnLeft" Margin="5,0" Content="&lt;" /> 
      <Button x:Name="btnRight" Content=">" /> 
     </StackPanel> 
    </Grid> 
</Grid> 

基本的に私は、具体的にはボタンの独自の幅インデックスと第3列との最初の2つの列に最初の2つの項目に移動し、第3の列を追加しました。

関連する問題