为什么按钮大小会随着列表框大小填充数据而增加?

时间:2011-09-02 15:48:49

标签: c# listbox

我是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>

                                                                 

感谢。

1 个答案:

答案 0 :(得分:0)

如果没有您的Xaml,很难诊断问题,所以请尝试发布任何其他问题。它听起来像是一个水平的StackPanel,而且元素都是彼此相邻的。

如果StackPanel的方向为垂直,请将按钮上的Horizo​​ntalAlignment设置为Left,Right或Center。如果StackPanel方向为“水平”,则将按钮上的“VerticalAlignment”设置为“Top”,“Bottom”或“Center”。

我很确定默认情况下这两个设置都是“Stretch”,这意味着他们会尝试填充所有可用的空间,而不是调整其内容。