草庐IT

lifecycle-viewmodel-ktx

全部标签

c# - WPF-MVVM : Setting UI control focus from ViewModel

在MVVM架构中设置控制焦点的最佳做法是什么。我设想的方式是在ViewModel上使用一个属性,该属性会在需要时触发焦点更改。而不是让UI控件绑定(bind)/监听该属性,以便在它发生变化时设置适当的焦点。我将其视为ViewModel事物,因为我想在ViewModel执行特定操作(例如加载特定数据)后适当设置焦点。最佳做法是什么? 最佳答案 按照此处答案中的建议使用IsFocused附加属性:SetfocusontextboxinWPFfromviewmodel(C#)然后您可以简单地绑定(bind)到View模型中的属性。

c# - WPF 将 UI 事件绑定(bind)到 ViewModel 中的命令

我正在对一个简单的应用程序进行一些重构以遵循MVVM,我的问题是如何将SelectionChanged事件从我的代码中移到viewModel后面?我看过一些将元素绑定(bind)到命令的示例,但没有完全理解。任何人都可以协助解决这个问题。谢谢!任何人都可以使用下面的代码提供解决方案吗?非常感谢!publicpartialclassMyAppView:Window{publicMyAppView(){InitializeComponent();this.DataContext=newMyAppViewModel();//Insertcoderequiredonobjectcreation

C#/WPF : PropertyChanged for all Properties in ViewModel?

我有这样一个类:publicclassPersonViewModel:ViewModelBase//HereistheINotifyPropertyChangedStuff{publicPersonViewModel(Personperson){PersonEntity=person;}publicPersonPersonEntity{get{returnPersonEntity.Name;}privateset{PersonEntity.Name=value;RaisePropertyChanged("PersonEntity");}publicstringName{get{retu

c# - 列表的 ViewModel 验证

我有以下View模型定义publicclassAccessRequestViewModel{publicRequestRequest{get;privateset;}publicSelectListBuildings{get;privateset;}publicListPersons{get;privateset;}}因此在我的应用程序中必须至少有1个人进行访问请求。您可以使用什么方法来验证?我不希望这种验证发生在我的Controller中,这很容易做到。唯一的选择是自定义验证属性吗?编辑:目前正在使用FluentValidation(不错的库!)执行此验证RuleFor(vm=>vm

c# - 从 ViewModel 关闭窗口

这个问题在这里已经有了答案:HowshouldtheViewModelclosetheform?(25个答案)关闭去年。我正在使用窗口控件创建登录以允许用户登录到我正在创建的WPF应用程序。到目前为止,我已经创建了一个方法来检查用户是否在文本框中输入了正确的username和password凭证>在登录屏幕上,绑定(bind)两个属性。我通过创建一个bool方法实现了这一点,就像这样;publicboolCheckLogin(){varuser=context.Users.Where(i=>i.Username==this.Username).SingleOrDefault();if(

c# - 将 Button 的可见性绑定(bind)到 ViewModel 中的 bool 值

如何将按钮的可见性绑定(bind)到我的ViewModel中的bool值? 最佳答案 假设AdvancedFormat是一个bool,您需要声明并使用BooleanToVisibilityConverter:注意添加的Converter={StaticResourceBoolToVis}。这是使用MVVM时非常常见的模式。从理论上讲,您可以自己对ViewModel属性进行转换(即,只需将属性本身设为Visibility类型),但我不希望这样做,因为现在您是搞乱关注点分离。项目的可见性实际上应该取决于View。

c# - 在 MVVM 中,ViewModel 或 Model 应该实现 INotifyPropertyChanged 吗?

我处理过的大多数MVVM示例都有Model实现INotifyPropertyChanged,但在JoshSmith'sCommandSinkexample中ViewModel实现了INotifyPropertyChanged。我仍然在认知上将MVVM概念放在一起,所以我不知道是否:您必须将INotifyPropertyChanged放入ViewModel才能使CommandSink工作这只是常态的偏差,这并不重要您应该始终让模型实现INotifyPropertyChanged,这只是一个错误,如果将其从代码示例开发为应用程序,将会得到纠正在您从事的MVVM项目中,其他人有哪些经验?

javascript - knockout.js - 从 DOM 元素获取 ViewModel

是否有可能从给定的DOM元素中获取绑定(bind)的ViewModelJavaScript对象?ko.applyBindings(gLoginViewModel,document.getElementById("login-form"));ko.applyBindings(gLoginViewModel,document.getElementById("register-form"));在其他地方-在相当不相关的代码中-像这样:varviewModel=ko.getViewModel(formElement);viewModel.someObservable(someData);//o

android - 以下情况在Activity Lifecycle中调用了哪些方法:

假设我有一个HelloWorld单一Activity应用程序。我启动了这个应用程序。在每种情况下调用了哪些方法:按下主页按钮:?按下返回按钮:?接到电话:?一旦用户通过应用图标再次启动应用,会调用哪些方法(假设操作系统没有“其他应用需要内存条件”):按下主页按钮:?按下返回按钮:?接到电话:?谢谢大家。编辑:额外积分:用户如何在不调用onStop的情况下调用onPause? 最佳答案 为了了解Activity生命周期,我创建了演示参见HERE我添加了不同的案例研究。MainActivity.javapublicclassMainAc

android - 将 ViewModel 绑定(bind)到服务是否正确?

我已经开始在我的应用程序中使用架构组件,并且仍在学习如何使用它。在我的应用中,我有一个Activity依次显示不同的fragment。在其中一些中,我需要与后台服务通信,以便从外部BLE传感器接收数据。由于我需要在多个Fragment中与服务交互,我想知道ViewModel是否是进行绑定(bind)的正确位置。I'velookedaround但我没有找到答案。在ViewModel中绑定(bind)服务是否有任何问题? 最佳答案 不建议在ViewModels中使用Android框架类。这里是谷歌开发者博客文章的链接,详细解释:View