我是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>
感谢。
灰
答案 0 :(得分:0)
如果没有您的Xaml,很难诊断问题,所以请尝试发布任何其他问题。它听起来像是一个水平的StackPanel,而且元素都是彼此相邻的。
如果StackPanel的方向为垂直,请将按钮上的HorizontalAlignment设置为Left,Right或Center。如果StackPanel方向为“水平”,则将按钮上的“VerticalAlignment”设置为“Top”,“Bottom”或“Center”。
我很确定默认情况下这两个设置都是“Stretch”,这意味着他们会尝试填充所有可用的空间,而不是调整其内容。