2017-08-16 10 views
0

最後のStatusBarItemとしてStatusBarにStackPanelを追加すると、余分なスペースがいっぱいになりません。 StatusBarはDockPanelをItemsPanelとして内部的に使用しているのはなぜですか?StatusBarのStackPanelは伸びません

は、ここでのサンプルコードです:

<Window x:Class="Foo.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:Zadatak1" 
    Title="MainWindow" 
    WindowState="Maximized"> 
<DockPanel> 
<StatusBar DockPanel.Dock="Bottom"> 
     <StatusBarItem DockPanel.Dock="Left" Background="SkyBlue"> 
      <Label>Status....</Label> 
     </StatusBarItem> 
     <StatusBarItem Background="Red" DockPanel.Dock="Right" HorizontalAlignment="Right"> 
      <StackPanel Orientation="Horizontal"> 
       <Label>Time:</Label> 
       <Label>02:48:AM</Label> 
      </StackPanel> 
     </StatusBarItem> 
    </StatusBar> 
</DockPanel> 

ラベルが最初であるとのStackPanel第二、それはそれが必要として、追加のスペースを埋めているので、私は要素の順序を変更した場合。

答えて

1

は、HorizontalAlignmentプロパティをRightに設定しているため、スペースを埋めるものではありません。 DockPanelを入力する場合は、デフォルト値のStretchに変更してください。

StackPanelは、期待通りにStatusBarItemを記入します。

+0

「ストレッチ」ではない場合、DockPanelの最後の子であっても使用可能なすべての領域がいっぱいになりませんか?私はいつも最後の子供が何があっても残っているすべてのスペースを埋めると思っていました。 – user2764266

+0

明らかにそうではありません。 Horizo​​ntalAlignment = "Right"を削除すると、表示されます。 – mm8

+0

はい、私は試してみましたが、うまくいきました。ありがとう。 – user2764266

関連する問題