我想创建将包含UniformGrid
的WindowsFormsHosts
(它们里面是WinForms
)。每行有4个主机(4个列),并且在超出其可见容量后,将在下面添加新元素,并且用户可以滚动UniformGrid
。除了定义UniFormGrid及其列号之外,我什至不知道从哪里开始。
<UniformGrid x:Name="Grid" Columns="4">
</UniformGrid>
我希望得到的行为就像在Windows的资源管理器中一样,如果视图中有太多图标可以向下滚动。
我使用
UniformGrid
是因为我需要在Java中等效于GridLayout()
。我希望每个添加的元素都具有相同的大小。我从.cs添加元素。 最佳答案
我将根据评论内容进行扩展,具体取决于您WinForm
控件的大小,以及所需的调整大小行为,您也许可以将WrapPanel
简单地包装在,例如:
<ScrollViewer>
<WrapPanel>
<Grid Width="100" Height="100" Background="Red"/>
<Grid Width="100" Height="100" Background="Blue"/>
<Grid Width="100" Height="100" Background="Yellow"/>
<Grid Width="100" Height="100" Background="Red"/>
<Grid Width="100" Height="100" Background="Blue"/>
<Grid Width="100" Height="100" Background="Yellow"/>
<Grid Width="100" Height="100" Background="Red"/>
<Grid Width="100" Height="100" Background="Blue"/>
<Grid Width="100" Height="100" Background="Yellow"/>
</WrapPanel>
</ScrollViewer>
为了获得更大的灵活性, this answer链接到提供
ScrollViewer
的项目,值得一看。关于c# - 在元素超出行数限制后,如何在XAML中使用自动滚动创建UniformGrid,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20928571/