cod*_*zen 12 .net wpf .net-4.5
在.Net 4.0中,以下代码抛出一条InvalidOperationException
消息"指定的元素已经是另一个元素的逻辑子元素.首先断开它."
var parent = new System.Windows.Controls.ContentControl();
var child = new System.Windows.Controls.Button();
parent.Content = child;
var parent2 = new System.Windows.Controls.ContentControl();
parent2.Content = child; // throws InvalidOperationException in .Net 4.0, not in 4.5
Run Code Online (Sandbox Code Playgroud)
但是,在运行的机器上的代码,在.NET 4.5安装结果没有异常被抛出.这似乎导致可视树具有一些奇怪的状态,显示为不正确的UI.
为什么没有例外?该throw
声明似乎仍然存在于.Net 4.5中FrameworkElement.AddLogicalChild
.会导致它被抛出的原因是什么?
我很高兴接受这种行为改变的原因很充分,我必须改变我的编码,但是,就目前而言,具有损坏的UI的无声失败似乎是从强烈的异常后退一步,当显式断开连接时 FrameworkElement
从逻辑树是forgotton.
归档时间: |
|
查看次数: |
991 次 |
最近记录: |