读书人

WPF请教UserControl的尺寸和布局

发布时间: 2013-12-15 22:17:18 作者: rapoo

WPF,请问UserControl的尺寸和布局
一个UserControl:


使用UserControl:


我想问的是:
在UserControl的模板中,border1的Height的尺寸是Width的2倍,但是在使用UserControl的时候,模板中的Border看起来其Height却比Width还小呢?
[解决办法]
默认把你的东西给截取了
在你使用的地方,这个控件的容器只有这么大<Grid Height="50" Width="200">

其实是高度被截取了,宽度没有被截取
[解决办法]
容器grid设置了宽和高所致
[解决办法]
你的用户控件看着大 是因为有两个专属于设计视图的属性
d:DesignHeight="300" d:DesignWidth="300"
你自己看一看
为什么引用后就变小了是因为
<Grid Height="50" Width="200">
<local:UserControl1 />
</Grid>
你设定了他的容器控件的宽和高了 所以他必须是height = 50 width = 200的样子
[解决办法]
d:DesignHeight="300" d:DesignWidth="300" 这个是你设计视图中UserControl的高和宽。

<Grid>
<Border Name="border1" Margin="10" Height="200" Width="100" Background="Red"/>
</Grid>
请注意:Magin为10,即border对grid(grid是和UserControl一样的大小)来讲,上下左右都有10是不可占据的空间。

<Grid Height="50" Width="200">
<local:UserControl1 />
</Grid>
所以在调用时,Border所能占用的高度只有50-10-10=30,只是没显示全而已。
[解决办法]
用的时候你要给控件定义宽高,就算自定义控件设计的是全屏的你在调用的时候给人宽高固定多少也不会全屏显示的。就像你用Image的时候,你的图片实际大小假如是1024*768,可你的Image宽高只给人定义个300*200.图片会显示多少?

读书人网 >C#

热点推荐