我可以将 InitializeComponent() 移动到 Loaded()
Can I move InitializeComponent() to Loaded()
依赖项属性 setter 未在应用程序构造函数中调用,值仅在加载用户控件后可用。那么,将 InitializeComponent()
方法移动到 Loaded()
方法是否安全?
将 InitializeComponent()
保留在原处。相反,请使用 Loaded 事件。即
[Dependency]
public Foo Foo { get; set; }
public MainWindow()
{
InitializeComponent();
Loaded += MainWindow_Loaded;
}
private void MainWindow_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
// Propery injection should have taken place now, so do what you need to do with them
}
我不知道这是否有助于解决您的问题,但我只是让 VisualStateManger 转到加载事件中的当前状态:
private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
{
VisualStateManager.GoToState(this, YourStateGroup.CurrentState.Name, false);
}
依赖项属性 setter 未在应用程序构造函数中调用,值仅在加载用户控件后可用。那么,将 InitializeComponent()
方法移动到 Loaded()
方法是否安全?
将 InitializeComponent()
保留在原处。相反,请使用 Loaded 事件。即
[Dependency]
public Foo Foo { get; set; }
public MainWindow()
{
InitializeComponent();
Loaded += MainWindow_Loaded;
}
private void MainWindow_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
// Propery injection should have taken place now, so do what you need to do with them
}
我不知道这是否有助于解决您的问题,但我只是让 VisualStateManger 转到加载事件中的当前状态:
private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
{
VisualStateManager.GoToState(this, YourStateGroup.CurrentState.Name, false);
}