C# 如何不调整datagrid或wrappanel项的大小?

C# 如何不调整datagrid或wrappanel项的大小?,c#,wpf,datagrid,user-controls,wrappanel,C#,Wpf,Datagrid,User Controls,Wrappanel,我已经创建了一个用户控件,其中包含一个datagrid和其他项 这些控件的功能之一是,通过两个按钮,我可以在数据网格中添加或删除列 这些控件中的多个被放置在一个WrapPanel中,以显示在我的主应用程序中 现在,在运行我的应用程序并按下按钮向datagrid添加一个新列时,datagrid会改变大小,从而导致初始用户控件变宽,这意味着wrappanel的一个子控件比其他子控件宽。 如果我添加了多个新行,并且用户控件达到了应用程序窗口的宽度,那么就会在datagrid下面出现一个滚动条,这样我就

我已经创建了一个用户控件,其中包含一个datagrid和其他项

这些控件的功能之一是,通过两个按钮,我可以在
数据网格中添加或删除列

这些控件中的多个被放置在一个
WrapPanel
中,以显示在我的主应用程序中

现在,在运行我的应用程序并按下按钮向datagrid添加一个新列时,datagrid会改变大小,从而导致初始用户控件变宽,这意味着wrappanel的一个子控件比其他子控件宽。
如果我添加了多个新行,并且用户控件达到了应用程序窗口的宽度,那么就会在datagrid下面出现一个滚动条,这样我就可以滚动并查看datagrid中的所有内容

有没有办法防止这种行为

理想情况下,我希望我的wrappanel子项具有恒定的大小,并且我的datagrid在添加新列时直接显示滚动条。因此,所有wrappanel子对象都具有相同的宽度。

如果可能的话,我不想给我的用户控件设置一个特定的常量大小。

使用
网格
可以获得与使用
包装面板
相同的结果,只是不太方便


从网格开始,您可以设置Width/MinWidth/MaxWidth(带星形符号)和Height/../。。。获取您想要的行为。

问题是我不想设置任何宽度和高度信息。另外,当改变应用程序窗口的大小时,wrappanel会自动重新排列其中的子元素,这在设置网格时是不可能发生的。