如何在WPF中禁用用户控件的大小调整

时间:2014-01-23 10:55:00

标签: wpf user-controls dynamic-resizing

我有Usercontrol.I想要禁用它的大小调整。 用户控件是:

<UserControl x:Class="DocumentUpload"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:telerikGrid="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView" 
      xmlns:telerikGrid1="clr-namespace:Telerik.Windows.Controls.GridView;assembly=Telerik.Windows.Controls.GridView" 
      xmlns:telerikInp="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Input" 
      xmlns:telerikNav="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Navigation" 
      xmlns:telerikData="clr-namespace:Telerik.Windows.Data;assembly=Telerik.Windows.Data" 
      xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
       Height="auto" Width="auto" MaxWidth="520">

我知道有一个名为

的财产
  

ResizeMode = “NoResize”

。但它在UserControl.Any suugestion中不可用?

2 个答案:

答案 0 :(得分:2)

您已将WidthHeight设置为Auto,因此我猜您应该允许控件占用尽可能多的空间而不是更多。

此外,UserControl本身并未调整大小,但取决于它所属的布局。

因此,解决问题的最快方法是设置HorizontalAlignment="Left"VerticalAlignment="Top"。但您应该考虑应用程序的整个布局以及UC如何受到影响UI的其他组件的影响。

答案 1 :(得分:1)

然后UserControl的Parent属性持有Window实例。大多数情况下,它将是NavigationWindow。在UserControl的加载事件中尝试以下代码,它将起作用。

((NavigationWindow)this.Parent).ResizeMode = ResizeMode.NoResize