【发布时间】:2017-03-03 19:10:07
【问题描述】:
我有客户端-服务器应用程序,客户端从服务器获取数据并将其保存在静态类中:
public static class DataStructure
{
//! Значение каждой переменной
public static Value AxisX = new Value(@"axis_x", Dividers.AxisX);
public static Value AxisY = new Value(@"axis_y", Dividers.AxisY);
public static Value AxisZ = new Value(@"axis_z", Dividers.AxisZ);
public static Value Temp = new Value(@"temp", Dividers.Temp);
public static Value GirX = new Value(@"gir_x", Dividers.GirX);
public static Value GirY = new Value(@"gir_y", Dividers.GirY);
public static Value GirZ = new Value(@"gir_z", Dividers.GirZ);
...
public static List<Value> ListOfValues = new List<Value>
{
AxisX,
AxisY,
AxisZ,
Temp,
GirX,
GirY,
GirZ,
....
}
...
客户端应用程序具有 GUI(带有 MVVM 模式的 WPF)。客户端每 1 秒从服务器接收一次数据,它们必须显示在窗口中。 Screenshot (click)
如果我想要它,我必须RaisePropertyChanged(),但我不想干涉DataSctructure 类并使用RaisePropertyChanged() 创建属性。最好的方法是什么?我可以在 ViewModel 中创建很多属性(如AxisX、AxisY、...),并从ListOfValues 分配数据,但我认为这是不合理的。
或者,可能是,我必须更改应用程序的结构?
更新 1:
public class Value
{
public Value(string name, double divider = 1.0)
{
Name = name;
Divider = divider;
HexCode = string.Empty;
IntValue = 1;
PhysValue = 1.0;
}
public readonly string Name;
public readonly double Divider;
public string HexCode { get; private set; }
public int IntValue { get; private set; }
public double PhysValue { get; private set; }
}
【问题讨论】:
-
Value是如何定义的? -
@user1892538 我更新了帖子