Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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
silverlight wrappanel不包装_Silverlight - Fatal编程技术网

silverlight wrappanel不包装

silverlight wrappanel不包装,silverlight,Silverlight,我有一个itemscontrol,里面有一个scrollviewer,我有一个wrappanel 除非我给它设定一个宽度,否则这东西不会包起来。我不明白如何使用此控件吗?我可以不用加宽吗?我希望它使用stretch auto。WrapPanel逻辑将继续沿同一行放置子项,直到它以某种方式受到约束。在不指定宽度的情况下,最简单的方法可能是禁用ScrollViewer的水平滚动条 <ScrollViewer HorizontalScrollBarVisibility="Disabled

我有一个itemscontrol,里面有一个scrollviewer,我有一个wrappanel


除非我给它设定一个宽度,否则这东西不会包起来。我不明白如何使用此控件吗?我可以不用加宽吗?我希望它使用stretch auto。

WrapPanel逻辑将继续沿同一行放置子项,直到它以某种方式受到约束。在不指定宽度的情况下,最简单的方法可能是禁用ScrollViewer的水平滚动条

    <ScrollViewer HorizontalScrollBarVisibility="Disabled">
         <toolkitControls:WrapPanel />
    </ScrollViewer>


然后可以水平拉伸包含项控件,它应该强制换行。

换行逻辑将继续沿同一行放置子项,直到以某种方式约束它。在不指定宽度的情况下,最简单的方法可能是禁用ScrollViewer的水平滚动条

    <ScrollViewer HorizontalScrollBarVisibility="Disabled">
         <toolkitControls:WrapPanel />
    </ScrollViewer>


然后,您可以水平拉伸包含项控件,它应该强制进行包裹。

包裹面板必须从允许宽度的某个位置获得。听起来您希望将其限制在容器中的可用空间内。在这种情况下,容器的类型必须限制宽度。例如,以下方法可以很好地工作:-

<UserControl x:Class="SilverlightApplication1.WrapPanelStuff"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:toolkitControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit">
  <Grid x:Name="LayoutRoot" Background="White">
        <ScrollViewer>
            <toolkitControls:WrapPanel>
                <Border BorderBrush="Black" BorderThickness="2">
                    <TextBlock Text="This should be quite long so that it takes up some horizontal space" />
                </Border>
                <Border BorderBrush="Black" BorderThickness="2">
                    <TextBlock Text="This should be quite long so that it takes up some horizontal space" />
                </Border>
                <Border BorderBrush="Black" BorderThickness="2">
                    <TextBlock Text="This should be quite long so that it takes up some horizontal space" />
                </Border>
            </toolkitControls:WrapPanel>
        </ScrollViewer>
    </Grid>
</UserControl>


网格
WrapPanel
限制为可用宽度。将
网格
替换为
画布
,它将不再工作,因为
画布
不限制其内容的宽度。

包裹面板必须从某个地方获得允许的宽度。听起来您希望将其限制在容器中的可用空间内。在这种情况下,容器的类型必须限制宽度。例如,以下方法可以很好地工作:-

<UserControl x:Class="SilverlightApplication1.WrapPanelStuff"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:toolkitControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit">
  <Grid x:Name="LayoutRoot" Background="White">
        <ScrollViewer>
            <toolkitControls:WrapPanel>
                <Border BorderBrush="Black" BorderThickness="2">
                    <TextBlock Text="This should be quite long so that it takes up some horizontal space" />
                </Border>
                <Border BorderBrush="Black" BorderThickness="2">
                    <TextBlock Text="This should be quite long so that it takes up some horizontal space" />
                </Border>
                <Border BorderBrush="Black" BorderThickness="2">
                    <TextBlock Text="This should be quite long so that it takes up some horizontal space" />
                </Border>
            </toolkitControls:WrapPanel>
        </ScrollViewer>
    </Grid>
</UserControl>


网格
WrapPanel
限制为可用宽度。将
网格
替换为
画布
,它将不再工作,因为
画布
不限制其内容的宽度。

这没有帮助,就大小计算而言,ScrollViewer仍然只是中间人。这没有帮助,就大小计算而言,ScrollViewer仍然只是一个中间人。ScrollViewer位于哪个站点?ScrollViewer位于哪个站点?