2011-09-02 43 views
0

私はC#の初心者です。私はボタンとリストボックスでWindowsプログラムを設計しました。リストボックスは、スクリプトがアプリケーションを実行するときにログを生成します。しかし、リストボックスにログが取り込まれると、ボタンとラベルが増加し、スタックパネルが非常に醜いものになります。リストボックスのサイズにデータが入力されると、ボタンのサイズが大きくなるのはなぜですか?

助力/アドバイスをいただければ幸いです。以下は私のxamlコードです。

<Grid> 
    <Border BorderBrush="Black" BorderThickness="2" Margin="0,11,0,5" CornerRadius="5" Background="White"> 
     <StackPanel Orientation="Horizontal" Margin="7,10,7,2"> 
      <StackPanel Orientation="Vertical"> 
       <TextBlock Text="City" Margin="5" HorizontalAlignment="Center"></TextBlock> 
       <ComboBox Name="City" SelectedValue="Chicago" SelectedValuePath="Name"> 
        <ComboBox.ItemTemplate> 
         <DataTemplate> 
          <TextBlock Text="{Binding Path=Name,Mode=OneWay}"></TextBlock> 
         </DataTemplate> 
        </ComboBox.ItemTemplate> 
       </ComboBox> 
      </StackPanel> 
      <Button Name="btnEnter" Content="Enter" Width="200" Margin="4" Padding="6" Click="btnEnter_Click"></Button> 
      <Button Name="btnViewLog" Content="View Log" Width="100" Margin="4" Padding="6" Click="btnLog_Click"></Button> 
      <ListBox Name="lbLog" Visibility="Collapsed"> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <TextBox Text="{Binding Description}" IsReadOnly="True" BorderThickness="0" Background="Transparent"></TextBox> 
     </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 
     </StackPanel> 

感謝。

あなたのXAMLなしアッシュ

答えて

0

、とてもそれ以上の質問とそれを投稿してみてください、問題を診断することは困難です。それは水平StackPanelのように聞こえ、要素はすべて互いに隣り合っています。

StackPanelの向きが垂直の場合は、ボタンのHorizo​​ntalAlignmentをLeft、Right、またはCenterに設定します。 StackPanelの向きが水平の場合、ボタンのVerticalAlignmentをTop、Bottom、またはCenterに設定します。

私は、両方の設定がデフォルトで「ストレッチ」であることを確信しています。つまり、コンテンツにサイジングするのではなく、利用可能なスペースをすべて埋めようとします。

+0

ブライアンに感謝します。私は私の質問で私のxamlコードを更新しました。あなたはそれを見て、私を助けてくれますか? – ash

+0

もう一度、ブライアンありがとう。ボタンの垂直方向を変更すると、この問題が修正されました。どうもありがとうございました。 – ash