绑定到canvas

我的class级中有一个canvas属性,我想知道是否可以将它绑定到xaml中的canvas?

数据绑定如何在canvas中工作?

 

如果您希望在XAML中定义的Canvas将整个Canvas作为单个项包含在您的类中,您可以编写:

   ... other items here ...  

如果您希望在XAML中定义的Canvas包含与类中定义的Canvas相同的所有UIElements,则不可能,因为UIElement只能有一个UIElement父级。 因此,如果类中定义的Canvas是给定UIElement的父级,则XAML中定义的Canvas不能。

如果希望Canvas显示类中定义的Canvas中每个UIElement的数据,可以使用带有Canvas面板和DataTemplate的ItemsControl来执行此操作:

           

请注意,此代码仅扫描Children属性一次,因为它不是INotifyCollectionChanged集合。

如果要绑定到包含其Canvas.Top和Canvas.Left属性集的UIElements集合的类中的属性,则可以轻松执行此操作,如果容器是ObservableCollection而不是Canvas。

Canvas类从未设计为在数据层中使用。 我强烈建议您切换到使用ObservableCollection,并仅将Canvas用作视图的一部分。

是。

您可以绑定到canvas或任何其他对象。