C# 在窗口底部排列状态栏

C# 在窗口底部排列状态栏,c#,wpf,C#,Wpf,我的状态栏有点问题。 在我的xaml中 <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="*"></RowDefinition>

我的状态栏有点问题。 在我的xaml中

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

  <Buttons etc... />

  <DataGrid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3" ItemsSource="{Binding DataFields}" AutoGenerateColumns="False">
    <DataGrid.Columns>
      <DataGridTextColumn Header="Name" Binding="{Binding Name}" />
      <DataGridTextColumn Header="Type" Binding="{Binding FieldType}" />
      <DataGridTextColumn Header="Unit" Binding="{Binding Unit}" />
      <DataGridTemplateColumn Header="Values">
        <DataGridTemplateColumn.CellTemplate>
          <DataTemplate DataType="{x:Type model:DataField}">
            <ComboBox ItemsSource="{Binding Values}"/>
          </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
      </DataGridTemplateColumn>
    </DataGrid.Columns>
  </DataGrid>

  <Grid Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="3"  >
    <ProgressBar 
      Height="31"
               Minimum="0"
               Maximum="50"
             Value="{Binding CurrentProgress}" />
    <TextBlock Text="{Binding CurrentProgressPercentage, StringFormat={}{0:0}%}" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding ProgressVisibility}" />
  </Grid>

</Grid>

当我的应用程序加载时,DATAGrid是空的,我的Stand Sub的网格位于窗口的中间。我希望它贴在我的应用程序的底部边框上。因此,我尝试使用DockPanel而不是网格,但这也不起作用,因为加载应用程序时,我的网格是空的。我正在考虑添加一个虚拟网格行,但我想不出一个解决方案

谁能给我一个简单的解决方案吗


谢谢大家!

当您为包含进度条的网格行指定固定高度时,它应该会有所帮助,因此请将grid.RowDefinitions更改为类似以下内容:

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


我已经尝试了您的示例,它按预期工作:ProgressBar停靠在底部。这是一个完整的例子吗?问题是上面的xaml是一个模板,我在另一个视图中使用它,这是混乱的。。。现在一切都好了,我修正了另一种观点。谢谢大家!!