Silverlight中有人发布 MVVM目前缺乏标准化,所以每个人都有自己的风味.
这就是为什么我和WPF门徒的一些人正在积极讨论每个人都同意的MVVM的哪些元素.我完全理解我们已经以不同的方式实现了模式,我们根据项目的需要混合了几种模式或创建了自己的模式,或者让开发人员的生活变得更轻松......但是忘记了这些困难或项目的特殊需求.让我们讨论一下每个人都同意的MVVM模式的标准规则.我也在这里发表了一些想法.
为何选择MVVM?
做和不看
在ViewModel中做和不做
模型
你有什么建议或评论吗?
我们小组中有一个分歧.有人说在ViewModel中有View的界面是可以的.但是有人说如果View Model有View接口,那么它将是MVP模式.
我们的一位MVVM专家谈到MVVM Vs MVP
View => ViewModel
ViewModel =>查看
MVVM
MVP
在MVP案例中,标准是Presenter通过接口,数据绑定或在被动视图的情况下通过属性与视图对话.使用被动视图时,属性不使用数据绑定,而是使用视图属性getter和setter来直接设置控件值.
你怎么看待这个想法?
你认为ViewModel有View的界面吗?
如果您想添加更多,欢迎您添加... :)
关于这篇文章的全部想法是对社区中的MVVM模式有相同的理解.
我正在为TextBox开发一个非常简单的撤销功能,我有一个奇怪的问题.当我尝试从Stack包含所有更改的字符串中取出字符串并将它们放在文本框中时,我看不到任何更改.
我做了一个小调试标签,以检查这是否真的有效.我发现它在标签中工作,但在文本框中它使用自己的撤销功能.
有没有办法取消或覆盖文本框撤消并使用我自己的功能?
以下是我所做的更改的示例代码:
private void Form1_KeyDown(object sender, KeyEventArgs e)
if (e.KeyCode == Keys.Z && (ModifierKeys & Keys.Control) == Keys.Control)
{
nameTextBox.Text = undoName.GetLastChange(); //--> not working
undoDebuglabel.Text = undoName.GetLastChange(); --> working
}
}
Run Code Online (Sandbox Code Playgroud)
GetLastChange()从Stack类中获取信息.
这就像文本框不让我看到变化.可能是因为我使用相同的快捷方式CTRL + Z来做吗?
我是单元测试用例写作的新手.我在WPF中使用MVVMLigh.是否有必要使用一些第三方测试框架或.Net Unit测试框架呢?另外如何在单元测试用例中处理静态类?在这种情况下AppMessages类.
有人可以指导我如何编写以下代码的单元格:
public MyViewModel(Participant participant)
{
if (participant != null)
{
this.ParentModel = parentModel;
OkCommand = new RelayCommand(() => OkCommandExecute());
CalculateAmountCommand = new RelayCommand(() => CalculateAmount());
}
else
{
ExceptionLogger.Instance.LogException(Constants.ErrorMessages.FinancialLineCanNotBeNull, "FinancialLineViewModel");
AppMessages.DisplayDialogMessage.Send(Constants.ErrorMessages.FinancialLineCanNotBeNull, MessageBoxButton.OK, Constants.DefaultCaption, null);
}
}
public static class AppMessages
{
enum AppMessageTypes
{
FinancialLineViewDisplay,
FinancialLineViewClose,
DisplayDialogMessage
}
public static class DisplayDialogMessage
{
public static void Send(string message, MessageBoxButton button, string caption, System.Action<MessageBoxResult> action)
{
DialogMessage dialogMessage = new DialogMessage(message, action)
{
Button = button,
Caption = caption …Run Code Online (Sandbox Code Playgroud)