Windows phone 7 windows phone 7 wrappanel不工作
我想在wp7应用程序中水平包装我的控件。这就是我使用Silverlight工具包包装面板的原因。它在第一行之前工作正常,但在第一行之后,我的第二个控件转到第二行 在第一行之后,我的文本框控件在下面,这是错误的,因为它在wrappanel中,所以它必须直接指向我的列表框项目Windows phone 7 windows phone 7 wrappanel不工作,windows-phone-7,xaml,silverlight-toolkit,Windows Phone 7,Xaml,Silverlight Toolkit,我想在wp7应用程序中水平包装我的控件。这就是我使用Silverlight工具包包装面板的原因。它在第一行之前工作正常,但在第一行之后,我的第二个控件转到第二行 在第一行之后,我的文本框控件在下面,这是错误的,因为它在wrappanel中,所以它必须直接指向我的列表框项目 <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,0,0"> <StackPanel>
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,0,0">
<StackPanel>
<toolkit:WrapPanel Orientation="Horizontal">
<ListBox Name="lstDemo" SelectionChanged="lstDemo_SelectionChanged">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel>
</toolkit:WrapPanel>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" Margin="5,0,0,0"></TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBox Name="txtHello" Margin="5,0,0,0" FontSize="20" />
</toolkit:WrapPanel>
</StackPanel>
</Grid>
请告诉我如何修复此问题,以便我的第二个控件始终位于listbox项之后,因为它的in-wrappanel和控件是水平包装的。包装面板的工作方式与预期相同。“包裹”面板将其子对象并排显示。因此,在您的示例中,外部面板并排显示两个子[ListBox][TextBox]。因为您将ListBox.ItemsPanel作为包装,所以它会尝试向左收缩。当listbox中有足够的项目要包装时,listbox的宽度现在就是控件的宽度。因此WrapPanel仍然并排显示子项,但现在第一个子项(ListBox)的宽度更大 因此,您的第一个示例类似于(使用上面的并排示例_ [列表框宽度:300][TextBlock] 第二个例子: [列表框宽度:480][TextBlock] 很抱歉,没有简单的方法来满足你的要求
*我总是说在xaml中任何事情都是可能的。如果你愿意编写一个自定义控件,你可以做到这一点。我可能误解了这个问题,但是为什么你不能使用StackPanel呢
只需使用StackPanel并将其方向属性设置为水平。WrapPanel不适合您尝试执行的操作。您希望在包含控件列表的元素中使用HorizontalAlignment=“Right”。类似于
<Grid HorizontalAlignment="Right">
<StackPanel>...items...</StackPanel>
</Grid>
…项目。。。
可能会奏效。不过,请注意,我还没有尝试过这个方法。嗨,这对我也不起作用。我尝试过你的方法。实际上,我的堆栈面板中有两个控件。我希望我的控件总是向右浮动。这就是我使用WrapPanel的原因。如果你有任何想法,请告诉我