【发布时间】:2014-06-30 04:36:51
【问题描述】:
我有一个典型的用户控件,画布上有一些绘图。我已使用以下代码将该用户控件插入网格中
<Routine:FlashUserControl x:Name="FlashControl" Grid.Row="0" Grid.Column="2" Grid.RowSpan="9" Grid.ColumnSpan="2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" />,
但用户控件在网格区域上方(如附图中指定)溢出,而不是适合该区域(2 列 x 9 行)
即使 VerticalAlignment、HorizontalAlignment、HorizontalContentAlignment 和 VerticalContentAlignment 在用户控件中定义为拉伸,为什么会发生这种情况?
更新:
如果我总结一下这个问题,我在用户控件中的绘图实体超出了画布限制,我想我需要重新缩放绘图
【问题讨论】:
-
Routine:FlashUserControl控件是什么?在我看来,它封装了一些本机(基于 GDI)控件。请注意,WPF 的呈现引擎独立于传统的 GDI,并且 WPF 承载的任何本机 (GDI) 控件都覆盖在 WPF UI 之上。我想要么 Routine:FlashUserControl 受到限制并且需要明确的宽度/高度声明,要么它可能有一个错误(即没有根据 WPF 的布局过程正确调整本机控件的大小......) -
@elgonzo ,它是一个基于 wpf 的用户控件。我无法指定它的宽度和高度。因为如果我修复了这些,就无法进一步更改
-
我怀疑 Routine:FlashUserControl 是真正的 WPF 控件。该名称表明它与 Adobe Flash(它是一个 ActiveX 控件,因此基于 GDI/GDI+)有关。如果我错了,您将如何解释控件似乎“泄漏”到网格单元之外? (如果控件是 WPF 控件并且太大,网格会根据控件大小调整其大小,或者?)
-
无论如何,给出的信息指向该控件的布局例程存在错误,您应该告知其作者该问题。
-
@elgonzo,实际上它是我的 wpfcontrol,我开发了它。我只是将名称命名为常规,我将名称更改为另一个名称。是一样的。我把它作为一个用户控件,因为我想把它插入主窗体
标签: wpf user-controls