gpt4 book ai didi

c# - 注入(inject) ViewModel 及其属性

转载 作者:行者123 更新时间:2023-11-30 18:01:37 26 4
gpt4 key购买 nike

我的 Silverlight 项目中有 ViewModel

public class MainViewModel : BaseNotify, IMainViewModel
{
[Dependency("AccountID")]
public Guid AccountID { get; set; }
...

public MainViewModel()
{
if (AccountID != Guid.Empty)
{
PreSelectedAccount = new Account() { ID = AccountID };
SingleAccountMode = true;
}
}
....
}

我以这种方式使用 Unity:

public static class IoC
{
static IoC()
{
Current = new UnityContainer();
Current.RegisterType<IMainViewModel, MainViewModel>();
}

public static UnityContainer Current { get; set; }
}

public partial class App : Application
{
[Dependency]
public IMainViewModel ViewModel { get; set; }

private void Application_Startup(object sender, StartupEventArgs e)
{
Guid accountId = "1234-5678-1234-5678-1234";
IoC.Current.BuildUp(this);
}
}

调用 BuildUp 方法后,我在 App.ViewModel 中有 MainViewModel 的实例,但是我如何设置 Unity 在 BuildUp 期间为 MainViewModel.AccountId 属性值注入(inject)一些值?

最佳答案

您需要使用 override 来解决/构建:

IoC.Current.BuildUp(this, new PropertyOverride("AccountID", accountId));

关于c# - 注入(inject) ViewModel 及其属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8989316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com