[DependsOn(typeof(AbpDemoCoreModule),
typeof(AbpDemoApplicationModule),
typeof(AbpDemoEntityFrameworkCoreModule))]
public class AbpDemoClientModule:AbpModule
{
public override void Initialize()
{
IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
//base.Initialize();
}
}
public partial class App : Application
{
private readonly AbpBootstrapper _bootstrapper;
private MainWindow _window;
public App()
{
_bootstrapper = AbpBootstrapper.Create<AbpDemoClientModule>();
}
protected override void OnStartup(StartupEventArgs e)
{
_bootstrapper.Initialize();
_window = _bootstrapper.IocManager.Resolve<MainWindow>();
_window.Show();
//base.OnStartup(e);
}
protected override void OnExit(ExitEventArgs e)
{
_bootstrapper.IocManager.Release(_window);
_bootstrapper.Dispose();
//base.OnExit(e);
}
}
using Abp.Dependency;
public partial class MainWindow : Window, ISingletonDependency
{
public MainWindow()
{
InitializeComponent();
}
}
public override void PreInitialize()
{
string connectionString = "Server=localhost; Database=AbpDemoDb; uid=root;pwd=Admin123;";
Configuration.DefaultNameOrConnectionString = connectionString;
Configuration.Modules.AbpEfCore().AddDbContext<AbpDemoDbContext>(options =>
{
options.DbContextOptions.UseMySql(connectionString);
});
//base.PreInitialize();
}
public partial class MainWindow : Window, ISingletonDependency
{
private MainWindowViewModel _viewModel;
private readonly IGoodsAppService _goodsAppService;
public MainWindow(IGoodsAppService goodsAppService)
{
_goodsAppService = goodsAppService;
_viewModel = new MainWindowViewModel(goodsAppService);
this.DataContext = _viewModel;
InitializeComponent();
}
}
public class MainWindowViewModel:ViewModelBase
{
private readonly IGoodsAppService _goodsAppService;
public MainWindowViewModel(IGoodsAppService goodsAppService)
{
_goodsAppService = goodsAppService;
InitData();
}
private List<DetailGoodsDto> _goodsList;
public List<DetailGoodsDto> GoodsList
{
get { return _goodsList; }
set
{
if (_goodsList!=value)
{
_goodsList = value;
OnPropertyChanged("GoodsList");
}
}
}
private void InitData()
{
GoodsList = _goodsAppService.All();
}
}
public class ViewModelBase : INotifyPropertyChanged
{
#region INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
protected internal virtual void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
#endregion
}