加载Window后加载WPF UserControl。我如何初始化UserControl变量?

时间:2012-09-19 09:54:06

标签: .net wpf wpf-controls

感谢您的帮助。

我开发了这个UserControl:

enter image description here

我想要的是放置其中许多并在应用程序启动时用行连接它们,如下所示:

enter image description here

我需要UserControl初始化一些变量,所以我将这些变量放在UserControl的Loaded事件中,如下所示:

    public Bubble()
    {
        InitializeComponent();
    }

    private void BubbleInstance_Loaded(object sender, RoutedEventArgs e)
    {
        _canvas = VisualTreeHelper.GetParent(this) as Canvas;
        _connections = new ConnectionLines(_canvas);
    }

并且,因为我希望在应用程序启动时连接这些控件,所以我将此代码放在Window Loaded事件中:

    public MainWindow()
    {
        InitializeComponent();
    }

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        bubble1.ConnectTo(bubble2);
        bubble1.ConnectTo(bubble3);
        bubble2.ConnectTo(bubble4);
    }

但问题出在这里:当应用程序启动时,我调用ConnectedTo方法时,我在UserControl Loaded事件中放入的那些变量不会被初始化。

以下是我的问题:如何在Window Loaded事件发生之前初始化这些UserControl变量?

0 个答案:

没有答案