具有数据绑定的WPF自定义控件

时间:2018-12-14 14:45:20

标签: wpf data-binding custom-controls

我正在寻找创建代表一只手的自定义控件。

这需要绑定到数据源,然后,如果数据源中存在代表特定手指的值/索引值,则该手指应显示为绿色。

有人能指出我正确的方向来开始这种控制吗?

基本上,我正在创建一个应用程序,该应用程序记录人们手指在哪里,他们的手指响了几圈。

所以每个手指上的图形将显示绿色,并显示一个数字。

Rough Hand Design for User Control

任何帮助或指导都将是有益的。

1 个答案:

答案 0 :(得分:-1)

为此,我建议使用用户控件而不是自定义控件。正如我认为Clemens发布的链接所说的那样,除非您真的要切换控件的模板,否则您不需要做一个自定义控件-这比用户控件要难。

这将至少具有一个要用于将集合绑定到的依赖项属性。使它成为一个ObservableCollection。然后,您可以传递说0,1,0,2,0。如果人们动态改变他们超级佩戴的戒指,则可以为其设置一个收藏夹,以涵盖控件的更改通知。

在其中,我将放置一个带有画布的视图框。 从某处抓取一只手的轮廓。您想从中获得几何图形,因此最好寻找一个svg。 也许https://www.flaticon.com/free-icon/stop-hand-silhouette_57659

然后下载并安装InkScape。 如果仅此而已,可以使用它来跟踪位图,然后另存为> xaml。 在记事本中打开该文件,您将看到带有一组坐标的路径。抓住那些。这些可用于定义用作资源或直接用作路径数据的几何。 我将这样的资源用于电子邮件“ icon”: https://social.technet.microsoft.com/wiki/contents/articles/32610.wpf-layout-lab.aspx

或者您可能会使用syncfusion地铁工作室的手形图标之一(免费)https://www.syncfusion.com/downloads/metrostudio

路径可以用于您的手。 然后,您的拇指和手指需要5个项目控件。 您可能也可以将它们每个设置为一个用户控件,但我会在第一次迭代中尝试使用5个控件。 他们应该将给定的每个项目模板化为itemtemplate中定义的绿色矩形。

位置5在您的手指上品尝。

通过索引将其itemsources绑定到您的集合中,并使用转换器返回该对象指定的对象数。因此,如果它是3,那么您将生成三个对象。

该视图框可以缩放所有内容。因此,您可以根据自己的喜好调整控件的大小,并且戒指会留在手指上。