3

これがXAMLです。2つの問題。最初にウィンドウが開くと、2つのボタンが両方とも下部で切り取られ、[Save_Search]ボタンが右側で切り取られます。2番目の問題は、ウィンドウのサイズを変更すると、リストビューが意図したとおりに長くなりますが、ボタンは両方とも、ウィンドウの境界線に対して移動するのではなく、リストビューの中央に表示されます。これを検索したところ、あまりありませんでした。

    Title="Queries" Height="274" Width="540">



<DockPanel Height="Auto" HorizontalAlignment="Stretch" Name="dockPanel1" VerticalAlignment="Stretch" Width="Auto">
    <Grid Height="Auto" Width="Auto" Margin="0,0,0,0">

        <TextBox Height="27" HorizontalAlignment="Left" Margin="256,6,0,0" Name="SearchTermsTextBox" VerticalAlignment="Top" Width="227" 
                  Text="Enter search terms separated by `;`"/>

        <ListView Name="ResultsListView" Margin="6,41,13,48"    ItemsSource="{Binding}" Width="auto">
            <ListView.GroupStyle>
                <GroupStyle>
                    <GroupStyle.HeaderTemplate>
                        <DataTemplate>
                            <TextBlock FontSize="15" FontWeight="Bold" Text="{Binding Name}"/>
                        </DataTemplate>
                    </GroupStyle.HeaderTemplate>
                </GroupStyle>
            </ListView.GroupStyle>

            <ListView.ItemContainerStyle>
                <Style TargetType="{x:Type ListViewItem}">
                    <Setter Property="BorderThickness" Value="1" />
                    <Setter Property="Width" Value="Auto" />
                    <Setter Property="FontSize" Value="10.4"  />
                </Style>
            </ListView.ItemContainerStyle>
        </ListView>


        <Button Content="Save Search" Margin="425,203,12.6,17.6"  Name="Save_Search"  Width="96" Height="25"  />
        <Button Name="Query_Button" Content="Ports" Margin="310,203,127.6,0" Height="25" Width="96" VerticalAlignment="Top"></Button>
    </Grid>


</DockPanel>

4

1 に答える 1

6

デフォルトHorizontalAlignmentVerticalAlignmentは、両方とも、指定されたマージンに基づいてコントロールを拡大するように設定されています。これにより、グリッドのサイズが変更されているにもかかわらず、コントロールがマージンで指定された位置にバインドされるため、誤った動作が発生します。

修正するには、とに設定しHorizontalAlignmentます。これにより、ボタンが右と下の境界線に固定されます。RightVerticalAlignmentBottom

また、マージン値を変更して0、左マージンと上マージンの両方の値を設定する必要があります。これにより、サイズが425、203Grid未満の場合でもボタンを表示できます。そうしないと、ボタンの一部のみが表示されるか、ボタンが表示されない場合があります。

ボタンには次のコードを使用してみてください。

<Button Content="Save Search" Margin="0,0,12.6,17.6"  Name="Save_Search"  Width="96" Height="25" HorizontalAlignment="Right" VerticalAlignment="Bottom" />
<Button Name="Query_Button" Content="Ports" Margin="0,0,127.6,0" Height="25" Width="96" HorizontalAlignment="Right" VerticalAlignment="Bottom"></Button>
于 2012-10-03T20:42:21.757 に答える