2017-05-12 34 views
0

我是WPF的新手,遇到了一个小问题。我有一个包含一个Stackpanel的UserControl。在stackpanel里面有多个richtxtboxes,并且在运行时根据条件可见或折叠。问题是,用户控件保持相同的大小(我希望它是运行时的堆栈面板的大小)。我用一些值将Height和width属性设置为usercontrol。我已经搜索过它,并得到了建议,删除高度和宽度属性。但是这使整个wpf面板崩溃。任何人都可以帮忙吗?将用户控件调整为Stackpanel的大小

回答

0

设置常量大小不是很好 - 只有在需要的时候。无论如何,这里是您的解决方案

<UserControl x:Class="WpfApp1.UserControl1" 
      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:local="clr-namespace:WpfApp1" 
      mc:Ignorable="d" 
      d:DesignHeight="300" d:DesignWidth="300" 
      Width="{Binding ElementName=MyStackPanel, Path=ActualWidth}" 
      Height="{Binding ElementName=MyStackPanel, Path=ActualHeight}"> 

    <Grid> 

     <StackPanel Width="350" 
        Height="350" 
        x:Name="MyStackPanel" 
        Background="Blue" /> 

    </Grid> 

</UserControl> 
+0

非常感谢。它的完美:)祝你有美好的一天! – Sanga

+0

然后标记我的答案请 – Peter