基本上我想创建一个表单。我完成后可能需要一段时间,所以我想使用一个列表框,以便表单可滚动。我希望有一个标签旁边有一个文本框,供用户输入。如何在列表框中并排显示标签和文本框?
此外,如果有人对如何创建表单有任何其他建议,请告诉我。
答案 0 :(得分:5)
不要使用ListBox添加滚动功能,请使用ScrollViewer。
您可以草绘/绘制一个解释您想法的图像吗?
<Grid>
<ScrollViewer>
<Grid ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Target="{Binding ElementName=textBlock}"
VerticalAlignment="Center">_Name:</Label>
<TextBox Grid.Column="1"
x:Name="textBlock"
VerticalAlignment="Center"
Text="Enter text here" />
</Grid>
<Border Grid.Column="1">
<TextBlock Text="Anything you like" />
</Border>
</Grid>
</ScrollViewer>
</Grid>
还有很多其他选择。例如,您可以在我的示例中将ScrollViewer放在Border中。这将使Border的内容可滚动而不是整个表单。关键是确定您想要它的样子以及您希望它的行为方式。
最好的方法是在Expression Blend等设计器中绘制或原型设计。
答案 1 :(得分:0)
将您的包含面板(例如网格)包裹在ScrollViewer中 - http://msdn.microsoft.com/en-us/library/ms750665.aspx