c# – 将显示的模式(路径)绑定到数据模型/如何使路径具有相同的
背景
[随意跳过这个] 我正在建立一个程序来处理马匹,它们的主人和主人的赛车颜色(丝绸).这个问题是关于一个名为SilksControl的UserControl,它充当了JockeySilks的视图. 为了表示丝绸,我使用以下类枚举: public class JockeySilks { public BodyPatterns BodyPattern { get; set; } public Colour BodyColour1 { get; set; } public Colour BodyColour2 { get; set; } public SleevePatterns SleevePattern { get; set; } public Colour SleeveColour1 { get; set; } public Colour SleeveColour2 { get; set; } public CapPatterns CapPattern { get; set; } public Colour CapColour1 { get; set; } public Colour CapColour2 { get; set; } } 如您所见,骑师丝绸的每个元素都有不同的图案和颜色.每个元素的主要部分是[Item] Colour1,模式用[Item] Colour2填充. SilksControl的基本组成是一个包含Canvas的ViewBox,而Canvas又包含许多Path.我将每个模式绘制为子画布内的路径. Here’s a picture.在此示例中,CapPattern和BodyPattern设置为Plain,ArmPattern设置为Chevrons. 问题 我试图找出基于WPF数据绑定设置模式的最佳方法.但是,有一个问题:每个模式Path都有不同的Canvas.Top和Canvas.Left值和维度. 我想过的方法 >在代码中切换路径 – 可能类似于pthCapPattern = CapPatterns [SilksModel.CapPattern],其中CapPatterns是字典< CapPattern,Path>或者可以从资源中访问它 >但不是绑定,我必须实现一些事件和东西 >将某些控件/面板的内容绑定到SilksModel.[Item]带有转换器的模式,该转换器从资源/字典生成/拉出路径 >哪个控件? >拥有XAML中的所有路径并更改每个路径的可见性 >这只是尴尬和怪异 >找出一种方法来协调维度的差异然后创建1个路径并绑定到它的Path.Data属性(可能在资源中有一些StreamGeometry,使用转换器从枚举到StreamGeometry) >我不知道如何给它们相同的尺寸,因此Canvas补偿. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |