【问题标题】:Is there a way to stop items in a wrap panel from wrapping "too soon"?有没有办法阻止包装面板中的项目“过早”包装?
【发布时间】:2019-05-31 22:58:44
【问题描述】:

我正在尝试将按钮动态添加到滚动查看器内的包装面板中。我在添加按钮时没有问题,但我在使用环绕面板时遇到问题,将按钮“过早”地拉起。按钮将包裹起来,但在发送时只显示按钮的一半。如果我进一步展开窗口,按钮将按预期显示。

我会内联正在发生的事情的图像,但我没有足够的声誉。这是图片的直接链接,显示了我的问题。

https://i.imgur.com/NasypbG.png

有没有办法告诉包裹面板在包裹它们之前等待整个按钮能够适应?

我已经包含了滚动查看器和换行面板(以及换行面板内的临时按钮)的 XAML 代码。

我尝试使用 Visual Studio 中与换行面板相关的选项,但不知所措。我知道这可能很容易解决。

<ScrollViewer x:Name="gameSroller" Margin="106,10,10,10">
            <WrapPanel x:Name="gameWrapPanel" Height="900" Width="{Binding Path=ActualWidth,
                   RelativeSource={RelativeSource  AncestorType=Window}}" HorizontalAlignment="Left" RenderTransformOrigin="0.5,0.5" ItemWidth="360">
                <Button x:Name="button" Content="A Game" Width="350" Height="160" Padding="10,10,10,10" Margin="10">
                    <Button.Background>
                        <ImageBrush ImageSource="Resources/header.jpg"/>
                    </Button.Background>
                </Button>
            </WrapPanel>
        </ScrollViewer>

【问题讨论】:

    标签: c# wpf scrollviewer wrappanel


    【解决方案1】:

    我发现我在这里做错了什么。 WrapPanel 的这部分选项不正确:

    RelativeSource={RelativeSource  AncestorType=Window}
    

    现在,当我增加窗口大小时,从 XAML 中删除它可以正确地以全尺寸显示按钮。很抱歉弄乱了问题部分!

    【讨论】:

      猜你喜欢
      • 2021-07-15
      • 2017-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-01
      • 2014-11-26
      相关资源
      最近更新 更多