我在我的wpf应用程序中托管了一个ocx控件(用于绘图的图形控件)。问题是在调整主窗口大小时不会调整大小。控件倾向于保持其原始大小,并且当主窗口调整大小时,ocx控件被剪切而不调整大小。有没有解决这个问题的方法。
答案 0 :(得分:1)
据我所知,ocx控件不会经过正常WPF控制所通常的排列/测量周期。您可以做的最好的事情是处理窗口或面板的SizeChanged事件(包含控件的任何事件),并适当调整ocx控件的大小。例如,如果控件托管在名为gridGraph的网格中:
public Window1()
{
InitializeComponent();
gridGraph.SizeChanged +=
new SizeChangedEventHandler(gridGraph_SizeChanged);
}
void gridGraph_SizeChanged(object sender, SizeChangedEventArgs e)
{
Size size = e.NewSize;
myOcx.Width = size.Width;
myOcx.Height = size.Height;
}
您的里程可能会有所不同 - 您必须根据特定的容器和设置调整控制。