我正在尝试在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
答案 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