数据绑定NaN

时间:2012-11-28 15:47:35

标签: c# wpf binding pixelsense

我正在使用答案中的代码WPF: how to bind lines to UI elements?而且我得到“BindingExpression产生的值对目标属性无效.;值='NaN'”。我的代码和链接之间的唯一区别是我没有设置Point point = null;只是Point point;,因为它会产生转换问题。 MidpointConcerter.cs与链接中的相同。我的绑定方法:

    private void BindLineToScatterViewItems(Line line, ScatterViewItem StartItem, ScatterViewItem EndItem)
        {
            var x = new MidpointConverter(false);
            var y = new MidpointConverter(true);

            BindingOperations.SetBinding(line, Line.X1Property,
               new Binding { Source = StartItem, Converter = x, ConverterParameter = MidpointSide.Bottom });
           BindingOperations.SetBinding(line, Line.Y1Property,
                new Binding { Source = StartItem, Converter = y, ConverterParameter = MidpointSide.Bottom });
//old in the middle
BindingOperations.SetBinding(line, Line.X2Property,
                                        new Binding { Source = EndItem, Path = new PropertyPath("ActualCenter.X") });
            BindingOperations.SetBinding(line, Line.Y2Property,
                                         new Binding { Source = EndItem, Path = new PropertyPath("ActualCenter.Y") });
        }

有人能帮助我并说出什么是错的以及如何解决它?

1 个答案:

答案 0 :(得分:-1)

这是因为您的变量未初始化。 Point point = null正在初始化其代码。

Point point; 

仅定义变量。您可能拥有的唯一其他选项就是像这样启动它

Point point = new Point(); 

因为您无法绑定到未初始化的变量。

screenshot

enter image description here