我应该在哪里更改 c# WPF 中的 window 大小?

Where should I change the window size in c# WPF?

我有一个 WPF window。 它的 xaml 文件由 UserControl 标签构建:

<UserControl x:Class="DeploymentTool.View.ToolPanelMappingView"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
         xmlns:sys="clr-namespace:System;assembly=mscorlib"
         ...
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="1300"
         >

显然,我将宽度大小更改为什么并不重要(在我的例子中是 1300), 它不会改变 window 大小。

如何更改 window 的宽度?

如果我没理解错的话,你的xaml大概是这样的:

<Window x:Class="WpfApplication1.SomeWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="SomeWindow" Height="700" Width="1300">
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="2*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="2*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <UserControl            
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
     xmlns:sys="clr-namespace:System;assembly=mscorlib"         
     mc:Ignorable="d" 
     d:DesignHeight="300" d:DesignWidth="30" Background="Green" Grid.Column="1" Grid.Row="1"></UserControl>

</Grid>

因此,要更改 UserControl 的宽度和高度,您可以通过在 'Grid' 中添加行或列来实现。

您的控件似乎托管在另一个 window 中。 找到主机 window 并根据需要进行更改。

也许你可以试试 Snoop 找到父 windwo 并使用它的属性来获得你想要的布局。 Snoop on CodePlex