C# WPF UserControl在运行时溢出父窗口

C# WPF UserControl在运行时溢出父窗口,c#,wpf,user-controls,resize,C#,Wpf,User Controls,Resize,我正在设置一个WPF应用程序,其中有一个带有单选按钮的标题,通过更改活动的UserControl来更改其下方网格的视图。我还动态地将窗口的高度和宽度设置为用户窗口高度的80%。当窗口显示my usercontrol时,usercontrol要么最终填满了网格,要么网格切断了usercontrol 我已经将行高度设置为动态,并删除了usercontrol的默认高度和宽度,但它仍然被切断。据我所知,usercontrol应该自动填充网格的大小 <Viewbox Stretch="Uniform

我正在设置一个WPF应用程序,其中有一个带有单选按钮的标题,通过更改活动的UserControl来更改其下方网格的视图。我还动态地将窗口的高度和宽度设置为用户窗口高度的80%。当窗口显示my usercontrol时,usercontrol要么最终填满了网格,要么网格切断了usercontrol

我已经将行高度设置为动态,并删除了usercontrol的默认高度和宽度,但它仍然被切断。据我所知,usercontrol应该自动填充网格的大小

<Viewbox Stretch="UniformToFill">
<Grid Height="880" Width="960">
        <!--Seperate View Style -->
        <Grid.RowDefinitions>
            <RowDefinition Height="50" />
            <RowDefinition Height="0" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <ContentControl Content="{Binding }" Grid.Row="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
            <ContentControl.Style>
                <Style TargetType="{x:Type ContentControl}">


显然,之所以出现此问题,是因为usercontrols正在缩放,但需要特定的纵横比。当移除viewbox时,窗口大小将进行调整,而不会更改内部控件的大小,这向我表明它与usercontrol的大小和窗口大小有关。在CS代码中调整我的纵横比,直到其大小正确

显然,之所以出现此问题,是因为usercontrols正在缩放,但需要特定的纵横比。当移除viewbox时,窗口大小将进行调整,而不会更改内部控件的大小,这向我表明它与usercontrol的大小和窗口大小有关。在CS代码中调整我的纵横比,直到其大小正确

尚不清楚这些XAML和代码片段应该做什么以及它们之间的关系。Viewbox的用途是什么?当你说“用户窗口”时,你是指屏幕吗?W视图框用于处理不同的屏幕缩放。下面的网格是定义usercontrols的contentcontrol的地方,下面的C代码是我设置窗口大小的方式。下面的最后一段XAML是usercontrol网格以及我是如何定义它的。对不起,我没说清楚。通过用户窗口,我指的是WPF程序的主窗口,不清楚这些XAML和代码片段应该做什么,以及它们之间的关系。Viewbox的用途是什么?当你说“用户窗口”时,你是指屏幕吗?W视图框用于处理不同的屏幕缩放。下面的网格是定义usercontrols的contentcontrol的地方,下面的C代码是我设置窗口大小的方式。下面的最后一段XAML是usercontrol网格以及我是如何定义它的。对不起,我没说清楚。按用户窗口,我指的是WPF程序的主窗口。
            double FormatHeight = SystemParameters.PrimaryScreenHeight * .8;
            double FormatWidth = FormatHeight * 1.0909;
            InitializeComponent();

            this.Height = FormatHeight;
            this.Width = FormatWidth;
  <Grid Background="#EFEFEF" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
        <Border x:Name="AlertHelperPanel" Margin="10,10,10,10" Background="White">
            <ListView Name="AlertNotifications" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
                      Height="{Binding Path=ActualHeight, ElementName=AlertHelperPanel}" 
                      Width="{Binding Path=ActualWidth, ElementName=AlertHelperPanel}" 
                      ItemsSource="{Binding Alerts}"
                      MouseDoubleClick="details_OnMouseDoubleClick">
                <ListView.View>