当前位置: 首页 > 编程语言 > C#

如何在WPF中将多边形绑定到现有的PointCollection?分享

时间:2023-04-10 23:48:30 C#

WPF中如何将多边形绑定到现有的PointCollection?我当前的实现不会在表单上显示任何内容,即使我认为有限的集合有数据(我在调试中检查过)。这是一些代码:publiceventPropertyChangedEventHandlerPropertyChanged;PointCollection图像点;publicPointCollectionImagePoints{get{返回this.imagePoints;}set{if(this.imagePoints!=value){this.imagePoints=value;如果(this.PropertyChanged!=null){PropertyChanged(this,newPropertyChangedEventArgs("ImagePoints"));}}}}和相应的xaml:现在我通过编写代码来完成所有绑定。在这个例子中,它工作正常,但在我的例子中,这些点没有出现在多边形上。有智慧珠吗?编辑:这是完整的xaml代码编辑:修改配置文件后,我在输出窗口中找到了这个:System.Windows.Data信息:41:BindingExpression路径错误:找不到“对象”的“ImagePoints”属性,因为数据项一片空白。这可能是因为数据提供者尚未生成任何数据。绑定表达式:路径=图像点;数据项=空;目标元素是'Polygon'(Name='imagePolygon');目标属性为“Points”(类型为“PointCollection”)System.Windows.Data信息:20:由于缺少信息,BindingExpression无法检索值。绑定表达式:路径=图像点;数据项=空;目标元素是'Polygon'(Name='imagePolygon');目标属性为“Points”(类型为“PointCollection”)System.Windows.Data信息:21:BindingExpression无法从空数据项中检索值。当绑定被分离或绑定到没有值的Nullable类型时,可能会发生这种情况。绑定表达式:路径=图像点;数据项=空;目标et元素是'Polygon'(Name='imagePolygon');目标属性为“Points”(类型为“PointCollection”)System.Windows.Data信息:10:无法使用绑定检索值,并且不存在有效的回退值;改为使用默认值。BindingExpression:Path=ImagePoints;数据项=空;目标元素是'Polygon'(Name='imagePolygon');targetpropertyis'Points'(type'PointCollection')我不确定你为什么会收到绑定错误,但代码乍一看还不错我写了一个小片段所以你可以检查一下看看你是否错过了某物。我猜它一定和你的有点相似..XAML的相关部分:窗口的代码隐藏:以上是C#学习教程:HowtobindapolygontoanexistingPointCollectioninWPF?如果分享的内容对你有用,需要了解更多C#学习教程,希望你多多关注——publicpartialclassWindow1:Window,INotifyPropertyChanged{publicWindow1(){InitializeComponent();this.ImagePoints=newPointCollection(new[]{newPoint(1,2),newPoint(34,12),newPoint(12,99)});//重要-也许你错过了这个?这个.DataContext=这个;}公共事件PropertyChangedEventHandlerPropertyChanged;PointCollection图像点;publicPointCollectionImagePoints{get{返回this.imagePoints;}set{if(this.imagePoints!=value){this.imagePoints=value;如果(this.PropertyChanged!=null){PropertyChanged(this,newPropertyChangedEventArgs("ImagePoints"));}}}}privatevoidbtnSetNew(objectsender,RoutedEventArgse){this.ImagePoints=newPointCollection(new[]{newPoint(23,2),newPoint(12,556),newPoint(4,89)});}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处: