1

ここでの回答のコードを使用していますWPF: how to bind lines to UI elements? そして、「BindingExpression によって生成された値は、ターゲット プロパティに対して有効ではありません。; Value='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") });
        }

誰かが私を助けて、何が悪いのか、どうすれば修正できるのか教えてもらえますか?

4

1 に答える 1

-1

これは、変数が初期化されていないためです。Point point = nullコードで初期化しています。

Point point; 

変数を定義するだけです。おそらく他の唯一のオプションは、そのように初期化することです

Point point = new Point(); 

初期化されていない変数にバインドできないためです。

スクリーンショット

ここに画像の説明を入力

于 2012-11-28T15:56:47.617 に答える