如您所知,鼠标是一个静态类。它有一个名为 的静态属性Mouse.Position
。该属性是动态更新的(可能绑定到鼠标??)。(我已经阅读了 msdn 中的鼠标文档)
我需要在这种情况下构建一个相同的类。
我正在制作一个能够有多个页面的应用程序,并且每个页面共享,例如,Margin
价值。
有两种选择(我认为)可以做到:
- 在“页面”类中创建一个字段,并通过构造函数传递值(最简单)
- 静态类,类似于
Mouse.Position
用法,但是,在这种情况下,例如,PageInformation.Margin
(PageInformation
是类,不是属性也不是字段)
我更喜欢第二个选项,因为它更容易调试(我猜),并且如果用户以某种方式更改了 Margin,则在更新期间使 Page 类更清洁、无代码和更容易..
有人知道该怎么做吗?(首选mvvm方式)
谢谢。
更新: PS 我已经了解基本的 mvvm 实践(INPC 等)
到目前为止,这是我的应用程序中的通用代码:
public class ViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
...
}
public class SheetPage : ViewModel
{
...
}