利用空閑時間計划開發一款開源的營銷商城平台,項目寫的不夠規范,有需要可以看看
項目介紹:
前端使用 WPF,采用MVVM模式 后端數據庫采用的sqlite 依靠本地化運行 后期可能會采用WebApi 因為WPF都是自學的 所以 代碼方面寫的可能不夠規范 有問題 可以指出 大家互相學習
前端:
賬號密碼隨便輸入
IOC由痕跡大佬提供 博客https://www.cnblogs.com/zh7791/ 視頻教學地址 https://space.bilibili.com/32497462
目前只做了幾個功能
代碼梳理:
內容展示區域 主要代碼
<ContentControl Grid.Row="1" FocusVisualStyle="{x:Null}" Margin="15" Content="{Binding Path=(commons:RefreshCommon.SelectMenuGroup)}" />
我采用的是 定義一個靜態屬性 然后點擊左邊的按鈕 通過IOC找到不同的UserControl 然后給靜態屬性賦值 實現功能切換
功能切換實現

/// <summary> /// 打開模塊 /// </summary> /// <param name="model"></param> private void Open(PageModule model) { try { //給靜態屬性賦值 RefreshCommon.IndexName = model.FunName; var polymorphismAssbly = Assembly.LoadFrom(AppDomain.CurrentDomain.BaseDirectory + "\\YC.ClientView.dll"); if (string.IsNullOrEmpty(model.OpenSpace)) { RefreshCommon.SelectMenuGroup = Common.GetUserControl("YC.ClientView.DefaultViewPage"); return; } var log = polymorphismAssbly.CreateInstance(model.OpenSpace) is IModel; if (log) { var dialog = polymorphismAssbly.CreateInstance(model.OpenSpace) as IModel; dialog?.BindDefaultModel(); if (dialog != null) RefreshCommon.SelectMenuGroup = dialog.GetView(); } } catch (Exception ex) { throw; } finally { GC.Collect(); } }
代碼已經上傳至github
https://github.com/YC946586/YC.Marketing