有没有办法在运行时获取大小?
我需要在对话框中显示用户控件并需要相应地调整窗口大小
由于有多个用户控件,如果可能,请寻找使其通用!
听起来你可能需要重新考虑这个问题?如果您需要设计时的高度和宽度,则只需明确设置您正在使用的控件的宽度和高度。这会将控件“默认”为特定大小。通常,您可能希望将控件的宽度和高度设置为 Auto,并让容器或布局管理器决定大小。因此,如果您将控件放在网格中,请将其分配到象限并在那里设置大小。
最后,如果您之所以询问是因为您正在使用 Blend 进行设计并且调整用户控件的大小设置了设计时间,那么您可以通过选择内角槽口而不是具有较大手柄的外角槽口来明确调整控件的大小。内凹口将导致显式设置高度和宽度。
您可以使用SizeToContent
<Window x:Class="WindowSample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WPF Window"
SizeToContent="WidthAndHeight" >
这将使您的窗口自动调整大小以适合您的窗口内容的首选大小。