在WPF中正确排列stackpanel中的项目

在WPF中正确排列stackpanel中的项目,wpf,xaml,Wpf,Xaml,我正在尝试在gridview下面对齐textblock、textbox和按钮。现在,它们的顺序是正确的,但它们都集中在左边。我希望它们在gridview下方从左到右均匀分布,并延伸到整个窗口。这是xaml <Grid> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="Auto

我正在尝试在gridview下面对齐textblock、textbox和按钮。现在,它们的顺序是正确的,但它们都集中在左边。我希望它们在gridview下方从左到右均匀分布,并延伸到整个窗口。这是xaml

 <Grid>        
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto"/>                                     
        </Grid.RowDefinitions>
        <StackPanel>          
           <telerik:RadGridView x:Name="radGridView" 
                             GroupRenderMode="Flat"
                             ShowGroupPanel="True"                                                      
                             ColumnWidth="*" 
                             IsReadOnly="True"                                                                                     
                             Grid.Row="0"                                                         
                             CanUserFreezeColumns="False"
                             RowIndicatorVisibility="Collapsed"
                             CanUserResizeColumns="True"
                             ShowGroupFooters="True"                              
                             ShowColumnFooters="True" 
                             ItemsSource="{Binding Path=Tester}" />
            <telerik:RadDataPager x:Name="radDataPager"
                              Grid.Row="1"                                                           
                              PageSize="10"
                              Source="{Binding Items, ElementName=radGridView}"
                              DisplayMode="All"
                              IsTotalItemCountFixed="True"/> 
           <StackPanel Orientation="Horizontal">                           
            <TextBlock Grid.Row="2" 
                       TextWrapping="Wrap"
                       HorizontalAlignment="Stretch"
                       Text="Search Testing"/>
            <TextBox ToolTip="Enter Search into box"
                    x:Name="txtName" 
                    Grid.Row="2"                    
                    FontFamily="Courier New"
                    HorizontalAlignment="Stretch"
                    TextWrapping="Wrap" 
                    Text="{Binding SearchText}"/>
            <telerik:RadButton ToolTip="Click To Search"
                    x:Name="btnSearch"           
                    Content="Search"
                    Grid.Row="2"  
                    HorizontalAlignment="Stretch"           
                    Click="RadButton_Click_1"/>
            </StackPanel>
        </StackPanel>
    </Grid>

使用网格而不是堆叠面板:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <TextBlock TextWrapping="Wrap"
               Width="auto"
               HorizontalAlignment="Stretch"
               Text="Search Testing"/>
    <TextBox ToolTip="Enter Search into box"
             Grid.Column="1"
             Width="auto"
             x:Name="txtName"               
             FontFamily="Courier New"
             HorizontalAlignment="Stretch"
             TextWrapping="Wrap" 
             Text="{Binding SearchText}"/>
    <telerik:RadButton ToolTip="Click To Search"
               Grid.Column="2"
               Width="auto"
               x:Name="btnSearch"           
               Content="Search" 
               HorizontalAlignment="Stretch"           
               Click="RadButton_Click_1"/>
</Grid>

+1,该网格必须放在外部网格的第三行: