当前位置: 首页 > wzjs >正文

网站怎么做的有创意杭州物联网前十名公司

网站怎么做的有创意,杭州物联网前十名公司,如何做好口碑营销,建设网站工作报告DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress 今年第一个重要版本v23.1正式发布,该版本拥有众多…

DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress 今年第一个重要版本v23.1正式发布,该版本拥有众多新产品和数十个具有高影响力的功能,可为桌面、Web和移动应用提供直观的解决方案,全面解决各种使用场景问题。

DevExpress .NET MAUI控件在新的v24.2中重点增强了MVVM功能,欢迎下载最新版体验!

DevExpress v24.2正式版下载

MVVM增强

DevExpress官方已经开发了一个包含服务、帮助程序和标记扩展的库,以便更容易地创建基于MVC的应用程序。目前没有创建自己的MVVM框架(就像为WPF和WinForms组件所做的那样),相反选择了Community Toolkit MVVM,DevExpress的库并没有取代它,而是用额外的功能增强了它。

服务

现在,您可以使用以下服务来简化MVVM的开发:

  • 弹出对话框服务:打开预定义的或自定义的弹出对话框。
  • NavigationService:直接从视图模型在页面之间导航。
  • PrintService:启动默认的打印对话框来打印文件。
  • SaveFilePicker:打开一个对话框,允许用户保存文件。
  • UI服务:在不破坏MVVM的情况下与视图模型中的UI组件进行交互。

这些服务会自动添加到默认的依赖注入(DI)容器中,您只需要注册视图模型并定义一个构造函数,该构造函数接受相应的接口来访问视图模型中的服务。

C#

public class ViewModel {
public ViewModel(INavigationService navigationService, IPrintService printService, ISaveFilePicker saveFilePickerService) {
//navigationService.GoToAsync(...);
//printService.PrintAsync(...);
//saveFilePickerService.SaveAsync(...);
}
}

如果您喜欢使用自己的自定义服务实现,可以在DI容器中注册它来覆盖默认注册:

C#

public static class MauiProgram {
public static MauiApp CreateMauiApp() {
//...
builder.Services.AddSingleton<INavigationService, NavigationServiceEx>();
}
}
public class NavigationServiceEx : NavigationService { }
弹出对话框服务

DevExpress的Popup Dialog Service(弹出对话框服务)可以很容易地显示预定义和自定义弹出对话框,该服务允许您根据用户点击的按钮返回结果。

以下是在弹出对话框服务中可用的预定义对话框:

  • 带有文本、图标和按钮的警报。
  • 带有自定义内容的警报。
  • 有或没有取消按钮的操作表。
  • 带有单选按钮和单一选择的操作表。
  • 带有复选框和多个选择的操作表。

DevExpress .NET MAUI v24.2新版本图集

要使用这些对话框,只需通过依赖注入将IDXPopupService注入到视图模型中,并调用以下方法当中的一个:

  • ShowAlert
  • ShowActionSheet
  • ShowRadioOptionSheet
  • ShowCheckBoxOptionSheet

下面是一个如何用图标显示警告的示例:

C#

public class PopupServiceDemoViewModel {
readonly IDXPopupService PopupService;public PopupServiceDemoViewModel(IDXPopupService popupService) {
PopupService = popupService;
}Task ShowAlertWithIcon() {
var res = await popupService.ShowAlert(
settings: new DXPopupSettings() {
Title = "Reset Settings ?",
Message = "This will reset your app preferences back to their default settings.",
TitleIcon = icon
},
ok: "Accept",
cancel: "Cancel");
}
}

要显示带有自定义内容的对话框,创建自己的视图,将其注册到DI容器中并调用ShowPopup:

C#

builder.Services
.AddTransient<LoginPopup>()
.AddTransient<LoginPopupViewModel>;//…async Task ShowCustomPopup() {
var vm = await popupService.ShowPopup<LoginPopupViewModel>();
}

DevExpress .NET MAUI v24.2新版本图集

导航服务

在.NET MAUI中,Shell.Current.GoToAsync方法允许您从任何类型导航到视图,但是直接从视图模型调用此方法会对Shell产生强烈的依赖性,这破坏了MVVM模式并使单元测试复杂化。为了解决这个问题,我们引入了一个导航服务,您可以将它注入到视图模型中,以一种对MVC友好的方式导航到其他视图:

C#

public class ViewModel {
INavigationService NavigationService { get; }
public ViewModel(INavigationService navigationService) {
NavigationService = navigationService;
}void ShowDetailForm() {
var parameters = new Dictionary<string, object>();
parameters["NavigationParameter"] = NavigationParameter;
NavigationService.GoToAsync("DetailView", parameters, false);
}
}

类似于标准的GoToAsync方法,NavigationService.GoToAsync允许您指定目标视图名称和导航参数。此外,您可以通过访问 CurrentLocation 属性获得当前视图。

SaveFilePicker服务

MVVM库包括SaveFilePicker服务,来帮助您指定保存文件的名称和位置。它打开一个标准对话框,允许用户选择保存文件的位置和方式:

DevExpress .NET MAUI v24.2新版本图集

像其他服务一样,您可以使用DI注入它,并从视图模型中使用:

C#

public class ViewModel {
ISaveFilePicker SaveFilePicker { get; }
public ViewModel(ISaveFilePicker saveFilePicker) {
SaveFilePicker = saveFilePicker;
}async Task Save() {
await SaveFilePicker.SaveAsync(fileToSave, "HelloWorld.txt", PredefinedFileType.Any);
}
}
打印服务

v24.2包括一个用于触发打印对话框的服务,只需调用PrintAsync并将文档名称作为参数传递:

C#

public class PrintServiceDemoViewModel {
IPrintService PrintService { get; }public PrintServiceDemoViewModel(IPrintService printService) {
PrintService = printService;
}
async Task Print() {
await PrintService.PrintAsync("BalanceSheet.pdf");
}
}

DevExpress .NET MAUI v24.2新版本图集

UI服务

上面提到的MVVM服务是为跨整个应用程序使用而设计的,如果您需要实现特定视图与其视图模型之间的通信逻辑,可以利用我们新的UI Service机制。这个新服务允许您直接从视图模型与UI元素交互,而无需将代码绑定到特定的元素类型。

例如,要强制CollectionView滚动到最后一个元素,你可以创建一个调用DXCollectionView.ScrollTo的自定义服务:

C#

public interface IScollService {
void ScrollToEnd();
}
public class ScollService : UIServiceBase, IScollService {
public void ScrollToEnd() {
DXCollectionView collection = (DXCollectionView)AssociatedObject;
collection.ScrollTo(collection.VisibleItemCount, DXScrollToPosition.End);
}
}

一旦完成,您可以把这个服务附加到DXCollectionView:

XML

<dx:DXCollectionView>
<dx:DXCollectionView.Behaviors>
<local:ScollService/>
</dx:DXCollectionView.Behaviors>
</dx:DXCollectionView>

在视图模型中,您可以通过服务容器访问注册的服务,并通过服务接口触发与UI相关的操作:

C#

public partial class ViewModel : IUIServiceClient {
public IUIServiceContainer ServiceContainer { get; } = new UIServiceContainer();void ShowLastItem() {
var scrollService = ServiceContainer.GetRequiredService<IScollService>();
scrollService.ScrollToEnd();
}
}


文章转载自:

http://cWLYcqV5.wmLby.cn
http://6Pu5Z2Rk.wmLby.cn
http://itPmLw7D.wmLby.cn
http://The9aVEj.wmLby.cn
http://I23UZ8MJ.wmLby.cn
http://toybas0M.wmLby.cn
http://8IJiudPU.wmLby.cn
http://b5MsYelZ.wmLby.cn
http://9Qfj0kpQ.wmLby.cn
http://xaIfy7Ue.wmLby.cn
http://mZuGFSP0.wmLby.cn
http://1l6BdMcB.wmLby.cn
http://lYcmWt9f.wmLby.cn
http://VlMMi0PZ.wmLby.cn
http://dZS9DvjH.wmLby.cn
http://4BvcaPWu.wmLby.cn
http://enZOGH6k.wmLby.cn
http://UnKPYUNN.wmLby.cn
http://LzqSKIZw.wmLby.cn
http://jSS5uAmK.wmLby.cn
http://f35KXKNM.wmLby.cn
http://xvbwmn6L.wmLby.cn
http://qUzvUkrY.wmLby.cn
http://nXuferd2.wmLby.cn
http://2CgjCwdN.wmLby.cn
http://PTUjG9n8.wmLby.cn
http://2Vew3qg1.wmLby.cn
http://XKl84oP2.wmLby.cn
http://50okFj3j.wmLby.cn
http://BcMcPH6N.wmLby.cn
http://www.dtcms.com/wzjs/629724.html

相关文章:

  • 广州沙河一起做网站成都企业网站设计制作
  • 网站排名第一湖南衡阳市建设工程造价网站
  • 10g空间网站做视频网站郑州大型网站建设价格
  • 网站建设公司广告语宣传语织梦网站如何更新系统
  • 西安营销网站建设代做设计网站
  • 百度如何建设自己的网站快速做网站的技术
  • 工信部 诚信网站备案3e网站建设
  • 做网站一定需要主机吗装饰公司哪家口碑好
  • 微电影网站模板实际网站开发怎样分工
  • 网站如何做m适配wordpress自定义链接
  • 免费入驻的卖货平台河南网站关键词优化代理
  • 网站定制站公益事业做网站
  • 网站代码需要注意什么微商城开发用华网天下北京
  • wordpress ai-pic公司网站怎么做优化
  • 网站开发群网络营销推广方法认定大将军21
  • wordpress 站内搜索江苏建设人才考试网官方网站
  • 重庆装修网站建设如何建立网站模板
  • 网站建设基本流程是什么网站建设技术百科
  • 政务网站建设办法网站建设分销协议
  • 国内优秀网站设计师凤阳做网站
  • 做网站公司会场主持台词做移动网站优化排名首页
  • 镇平微网站建设中国机械加工外协网
  • 网站功能设计有哪些要求网站推广优化外包便宜
  • 网站建设与代运营产品介绍论坛网站开发教程
  • 制作微网站的平台有哪些网站设计参考文献
  • 网页制作网站平台公司网站没有备案是不是违法的
  • 深圳市建设工程资料网站西安做的好的网站公司
  • 医院网站后台管理系统登录gis二次开发
  • 做网站什么内容吸引人做网站卖广告多少钱
  • 35互联做的网站网站如何做流媒体