Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据C#wpf窗口大小调整列表框大小_C#_Wpf_Visual Studio 2012_Listbox_Mahapps.metro - Fatal编程技术网

根据C#wpf窗口大小调整列表框大小

根据C#wpf窗口大小调整列表框大小,c#,wpf,visual-studio-2012,listbox,mahapps.metro,C#,Wpf,Visual Studio 2012,Listbox,Mahapps.metro,我使用Visual Studio 2012制作了一个C#metro wpf应用程序。我在窗口中添加了一个列表框 但当我重新调整窗户的尺寸时,它的尺寸保持不变 这是我当前的代码 <controls:MetroWindow x:Class="My_app.MainWindow" WindowStartupLocation="CenterScreen" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentati

我使用Visual Studio 2012制作了一个C#metro wpf应用程序。我在窗口中添加了一个列表框

但当我重新调整窗户的尺寸时,它的尺寸保持不变

这是我当前的代码

<controls:MetroWindow x:Class="My_app.MainWindow"
    WindowStartupLocation="CenterScreen"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
    Title="My application" Height="500" Width="1000" EnableDWMDropShadow="True" HorizontalAlignment="Center" HorizontalContentAlignment="Center" Closing="MetroWindow_Closing_1">


<Grid Margin="-1,0,1,0">
    <TextBox controls:TextboxHelper.Watermark="Search here..." controls:TextboxHelper.ClearTextButton="True" x:Name="textBoxSearch" HorizontalAlignment="Left" Height="23" Margin="11,13,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="255" TextChanged="textBoxSearch_TextChanged" PreviewKeyDown="textBoxSearch_PreviewKeyDown" BorderThickness="0.5"/>
    <Label x:Name="label1" Content="" HorizontalAlignment="Left" Margin="10,47,0,0" VerticalAlignment="Top" Height="17" Width="29"/>
    <ListBox x:Name="listBoxSuggestions" HorizontalAlignment="Left" Height="397" Margin="10,62,0,0" VerticalAlignment="Top" Width="255" SelectionChanged="listBoxSuggestions_SelectionChanged" PreviewKeyDown="listBoxSuggestions_PreviewKeyDown" GotFocus="listBoxSuggestions_GotFocus"/>
    <TextBox x:Name="textBoxResult" HorizontalAlignment="Left" Height="449" Margin="321,10,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="661" PreviewKeyDown="textBoxResult_PreviewKeyDown" HorizontalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True" VerticalScrollBarVisibility="Auto" TextChanged="textBoxResult_TextChanged" BorderThickness="0"/>
</Grid>
</controls:MetroWindow>

列表框的底部应该是窗口的底部(始终保持相同的小间隙)。我怎样才能做到这一点?我应该如何更改代码?

给你

从列表框中删除垂直对齐和高度,它将根据窗口高度调整高度

<ListBox x:Name="listBoxSuggestions" HorizontalAlignment="Left" Margin="10,62,0,0"  Width="255" SelectionChanged="listBoxSuggestions_SelectionChanged" PreviewKeyDown="listBoxSuggestions_PreviewKeyDown" GotFocus="listBoxSuggestions_GotFocus"/>


如果需要根据窗口的宽度调整列表框的宽度,也可以删除
水平对齐
宽度

寻求调试帮助的问题(“为什么此代码不工作?”)必须包括所需的行为,一个特定的问题或错误,以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建最小、完整和可验证的示例。将添加代码。我想这些细节已经足够有人知道了。但它不太可能帮助未来的读者。删除XAML和水平/垂直对齐中的固定尺寸和边距。另外,不要使用Visual Studio设计器。添加了代码。我使用VS设计器。有固定尺寸的。希望这会有助于你的想法:)谢谢你,太好了。请再问一个问题,我怎样才能将窗口的标题居中。它是左对齐的。请尝试在
窗口
元素中添加
TextBlock.TextAlignment=“Center”
,如果这对您不起作用,那么您可以为您的窗口定义自定义WindowChrome。请参阅以获取参考。它也将所有文本置于其他元素的中心。所以我明确地将它们向左对齐。谢谢,太好了!顺便说一句,如果您已将左对齐应用于窗口中的所有其他文本块,则可以将TextBlock.TextAlignment=“Left”应用于根元素,即窗口的第一个子元素。如果你已经这样做了,那么干杯!快乐编码:)