gpt4 book ai didi

c# - 将子控件添加到 WrapPanel

转载 作者:可可西里 更新时间:2023-11-01 08:33:34 24 4
gpt4 key购买 nike

我对 WPF 非常陌生。

我有一个非常简单的问题。

我有一个堆栈面板 spTerminalBox。

<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="881*"/>
<ColumnDefinition Width="11*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="156"/>
<RowDefinition Height="371*"/>
</Grid.RowDefinitions>
<my:WindowHeader x:Name="title" Title="Internet Cafe management software (ICM)" CloseClicked="window_CloseClicked" VerticalAlignment="Top" Margin="0,-1,0,0" Grid.ColumnSpan="3" />
<StackPanel Name ="spTerminalBox" Grid.Column="1" Grid.Row="1" Orientation="Horizontal" Margin="10,10,10,20"/>
</Grid>

我的 xaml 结构就是这样。

我在代码中动态填充该堆栈面板中的用户控件。一旦 StackPanel 上的子元素不适合 StackPanel 区域,那么它不应该超出可见区域,它应该下降。

如何实现?

最佳答案

XAML:

<Window x:Class="WpfTestBench.PanelSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="PanelSample" Height="300" Width="300">
<Grid>
<WrapPanel Name="MyPanel" />
</Grid>
</Window>

代码隐藏:

using System.Windows;
using System.Windows.Media;
using System.Windows.Shapes;

namespace WpfTestBench
{
public partial class PanelSample
{
public PanelSample()
{
InitializeComponent();

for (var i = 0; i < 5; i++)
{
MyPanel.Children.Add(new Rectangle
{
Width = 100,
Height = 20,
StrokeThickness = 1,
Stroke = new SolidColorBrush(Colors.Black),
Margin = new Thickness(5)
});
}
}
}
}

执行结果:

Wide Narrow

关于c# - 将子控件添加到 WrapPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20350465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com