Windows phone 7 windows phone 7 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>

我想在wp7应用程序中水平包装我的控件。这就是我使用Silverlight工具包包装面板的原因。它在第一行之前工作正常,但在第一行之后,我的第二个控件转到第二行

在第一行之后,我的文本框控件在下面,这是错误的,因为它在wrappanel中,所以它必须直接指向我的列表框项目

<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的原因。如果你有任何想法,请告诉我