加载Grid的事件

时间:2009-08-26 18:23:30

标签: c# .net xaml silverlight-3.0

我正在尝试在Silverlight中初始化我的控件。我正在寻找类似于Form_Load事件的东西,当窗体第一次加载时会触发它。

即使在UI中显示控件之前,Silverlight中的Loaded事件也会很早调用。我想在第一次在UI渲染控件之前进行初始化。我有什么选择?以下是我的代码供参考。这很基本。

感谢您的回复!

1    <local:ControlBase x:Class="MyUserControl"
2        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
3        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
4        xmlns:local="clr-namespace:GridTest.UI.Framework;assembly=GridTest.UI.Framework"
5        xmlns:ImageViewer="clr-namespace:GridTest.ImageViewer"
6        FontFamily="./Fonts/CALIBRI.TTF#Calibri" FontSize="13">
7        <Grid x:Name="LayoutRoot" Background="White" Loaded="MyUserControl_Loaded" >
8            <ImageViewer:ImagePreview HorizontalAlignment="Stretch" VerticalAlignment="Stretch" x:Name="ucImagePreview"/>
9    </local:ControlBase>
10   

1 个答案:

答案 0 :(得分:1)

对于这种情况,我倾向于在UserControl构造函数中连接UserControls Loaded属性,并且没有遇到任何问题。

所以我的控制代码背后有:

public Control()
        {
            InitializeComponent();
            this.Loaded += new RoutedEventHandler(Control_Loaded);
        }

void Control_Loaded(object sender, RoutedEventArgs re)
        {
//Do any init here
}

HTH