加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将显示的模式(路径)绑定到数据模型/如何使路径具有相同的

发布时间:2020-12-15 21:54:24 所属栏目:百科 来源:网络整理
导读:背景 [随意跳过这个] 我正在建立一个程序来处理马匹,它们的主人和主人的赛车颜色(丝绸).这个问题是关于一个名为SilksControl的UserControl,它充当了JockeySilks的视图. 为了表示丝绸,我使用以下类枚举: public class JockeySilks{ public BodyPatterns Body
背景

[随意跳过这个]

我正在建立一个程序来处理马匹,它们的主人和主人的赛车颜色(丝绸).这个问题是关于一个名为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补偿.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读