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 回答