【发布时间】:2020-03-24 15:49:13
【问题描述】:
我在很多未知领域工作,因为我试图在这个项目中正确遵循 MVVM 以及正确的结构。我根据未来 json 文档的布局方式创建了以下类:
public class SkinList
{
public class Coord
{
public string x { get; set; }
public string y { get; set; }
}
public class Location
{
public string ID { get; set; }
public string Name { get; set; }
public List<Coord> Coords { get; set; }
public string CodeNumber { get; set; }
public string Description { get; set; }
}
public class Skin
{
public string ID { get; set; }
public string Name { get; set; }
public List<Location> Locations { get; set; }
}
public class RootObject
{
public List<Skin> Skins { get; set; }
}
}
当前页面在加载时会创建一个新的Skin(皮肤)对象。它允许用户单击图像上的一个点。生成该点时,我希望它创建一个新的 Location 对象(点)。我希望屏幕上有多个不同的框来绑定到该对象的各种属性。我的下一步将是弄清楚整个 INotify 的事情,但我被困在一个部分。我似乎无法弄清楚如何将 Location 对象附加到 Skin 对象中的 Locations 列表中。我知道我只是缺少一些逻辑,这可能是非常直接的。
这是我正在使用的代码隐藏:
{
/// <summary>
/// Interaction logic for ManikinEditor.xaml
/// </summary>
public partial class ManikinEditor : Page
{
public List<SkinList.Skin> skin = new List<SkinList.Skin>();
private Ellipse elip = new Ellipse();
private Point anchorPoint;
private int Radius = 3;
public ManikinEditor()
{
string guid = System.Guid.NewGuid().ToString();
SkinList.Skin _skin = new SkinList.Skin();
_skin.ID = guid;
skin.Add(_skin);
InitializeComponent();
}
private void Image_MouseLeftButtonDown_1(object sender, MouseButtonEventArgs e)
{
anchorPoint = e.MouseDevice.GetPosition(Cnv);
//public List<SkinList.Skin
// SkinList.Location point = new SkinList.Location();
// List<SkinList.List> location = new List<SkinList.Locations>();
SkinList.Location point = new SkinList.Location();
string pointguid = System.Guid.NewGuid().ToString();
point.ID = pointguid;
Path test = new Path
{
Stroke = Brushes.Red,
StrokeThickness = 1,
Fill = Brushes.Black,
Data = new EllipseGeometry { Center = anchorPoint, RadiusX = Radius, RadiusY = Radius }
};
Cnv.Children.Add(test);
}
}
}
在我把所有东西放在一起之后,我会将整个东西序列化并添加到 json 文件中的列表(皮肤)中,但是当我遇到它时,我会跨越这个障碍。
【问题讨论】:
-
您的问题是什么?你能运行你的代码吗?如果没有,你会得到什么错误?如果是这样,会发生什么?您希望它做些什么不同的事情?
-
嗨代码。我的问题是关于如何让它按照描述的方式工作。无法编译,因为我无法弄清楚我应该做什么才能使其工作。我对这些领域中的许多领域都很陌生,不幸的是,COVID 都剥夺了我将要参加的 CE 课程,只给了我时间从事这个项目。