2016-08-15 11 views
1

の下部にあるステータスバーを配置します。私の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> 

ときに私のアプリの負荷、データグリッドは空で、ステータスバーと私のグリッドは、ウィンドウの中央にあります。私はそれが私のアプリの下の境界に固執したい。したがって、私はグリッドの代わりにDockPanelを使用しようとしましたが、アプリケーションがロードされているときに私のグリッドが空であるため、このwouldntもどちらも動作しません。私は、ダミーのグリッド行を追加することを考えていたが、私は解決策を思い付くことができません...

誰も私に簡単な解決策を教えてください?

ありがとうございました!

+0

:ProgressBarが下にドッキングされます。それは完全な例ですか? – ASh

+0

上記のxamlはテンプレートであり、別のビュー内でそれを使用していましたが、これはうんざりしていました...もう一方のビューを修正したのですべて問題ありません。皆さん、ありがとうございました! – user3292642

答えて

1

それはあなたのプログレスバーが含まれているグリッドの行に固定の高さを割り当てるときに役立つ、そうのようなものにGrid.RowDefinitionsを変更する必要があります。私はあなたのサンプルを試してみましたし、期待どおりに働いている

 <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"></RowDefinition> 
     <RowDefinition Height="Auto"></RowDefinition> 
     <RowDefinition Height="*"></RowDefinition> 
     <RowDefinition Height="*"></RowDefinition> 
     <RowDefinition Height="25"></RowDefinition> 
    </Grid.RowDefinitions> 
関連する問題