0

私はちょうど次のことにつまずいた:

class AFrameworkElement : FrameworkElement
{
    private void SomeMethod() 
    {
        Size s = new Size {
            Width = Height = 10
        };
        // the size isn't used for measuring oder arranging
    }
}

突然、コントロールのサイズを変更できなくなりました... IntelliSense が問題を示しました。マウスを上に置くHeightと、FrameworkElement.Heightプロパティが意図されていることが示されました。では、オブジェクト初期化子で二重代入を使用できないのはなぜでしょうか?

4

1 に答える 1

2

オブジェクト初期化式では、初期化式内でオブジェクト自体にアクセスできません。その式で使用されているものはすべて、オブジェクト初期化子の外で使用されているかのように解釈されます。したがって、この場合Height = 10、コンテキスト内で評価され、そのオブジェクトのプロパティAFrameworkElementHeightバインドされます

于 2013-08-22T16:09:06.333 に答える