- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在研究 Silverlight 并且遇到一个非常奇怪的问题,它没有给出任何异常并且不会在断点处运行时中断。所以我在 app.xaml.cs 中保留了一个断点
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
//something here
}
在调试时它中断了,我发现在“e”中我有以下未处理的异常:
{System.InvalidOperationException: The element is already the child of another element.
to MS.Internal.XcpImports.CheckHResult (UInt32 hr)
to MS.Internal.XcpImports.SetValue (IManagedPeerBase obj, DependencyProperty property, DependencyObject doh)
to MS.Internal.XcpImports.SetValue (IManagedPeerBase doh, DependencyProperty property, Object obj)
to System.Windows.DependencyObject.SetObjectValueToCore (DependencyProperty dp, Object value)
to System.Windows.DependencyObject.SetEffectiveValue (DependencyProperty property, EffectiveValueEntry & newEntry, Object newValue)
to System.Windows.DependencyObject.UpdateEffectiveValue (DependencyProperty property, EffectiveValueEntry oldEntry, EffectiveValueEntry & newEntry, ValueOperation operation)
to System.Windows.DependencyObject.RefreshExpression (DependencyProperty dp)
System.Windows.Data.BindingExpression.SendDataToTarget to ()
System.Windows.Data.BindingExpression.SourceAcquired to ()
to System.Windows.Data.Binding.EnsureBreakPoint (BindingDebugState debugState, Action callback, Boolean canDelay)
to System.Windows.Data.BindingExpression.System.Windows.IDataContextChangedListener.OnDataContextChanged(Object sender, e DataContextChangedEventArgs)
to System.Windows.Data.BindingExpression.DataContextChanged (Object sender, e DataContextChangedEventArgs)
to System.Windows.FrameworkElement.OnDataContextChanged (DataContextChangedEventArgs e)
to System.Windows.FrameworkElement.OnTreeParentUpdated (DependencyObject newParent, Boolean bIsNewParentAlive)
to System.Windows.DependencyObject.UpdateTreeParent (IManagedPeer oldParent, IManagedPeer newParent, bIsNewParentAlive Boolean, Boolean keepReferenceToParent)
to MS.Internal.FrameworkCallbacks.ManagedPeerTreeUpdate (oldParentElement IntPtr, IntPtr parentElement, IntPtr childElement, bIsParentAlive Byte, Byte bKeepReferenceToParent, Boolean canCreateParent)}
现在当它发生时:
我有 TabControl
其中有 3 个选项卡项。一个 Tabitem 显示 xml 代码,第二个显示 c# 代码,第三个(Nasty)显示使用 c# 动态创建的 UI 元素。
现在上面的 TabControl(已经包含 3 个 TabItem)被存储为另一个 TabItem 的内容(结果在我下面的代码中),就像这样,它是所有 TabItem 的父级。
(因此您可以看到首先是“Result”,然后它包含“TabControl”,然后它包含“3 TabItems”)还有这个result
存储在 ObservableCollection<TabItem> result = new ObservableCollection<TabItem>();
我的意思是它会有两个类似结果的 tabitem。我在这个集合中的每个“结果”都负责在给定的三个选项卡项中呈现不同对象的信息(在 Tabitem 中呈现的 xml、代码和 UI 元素对应于这个 ObservableCollection 列表中的选定结果(tabitem))。
什么时候出现问题? :
仅当我从一个结果 TabItem 切换到另一个结果然后返回到同一个“TabItem”(负责 UI 元素渲染,请注意,它仅发生在这个 TabItem 上,而不是其他两个)(仅适用于 Result
的第三个 TabItem,我称之为“讨厌的”一个,它应该呈现动态创建的 UI 元素)。它使我的项目崩溃并给出未处理的异常
有人可以告诉我这个问题的原因和解决方案吗?非常感谢。
编辑:(请参阅解释以避免混淆)
假设我在可观察的 TabItem 集合中有两个“结果”tabitem,每个“结果”代表不同的对象,并在单击每个结果(TabItem)的 TabControl 的第三个 TabItem 时呈现不同的 UI 元素。开始时,当我单击第一个“结果”的第 3 个 TabItem(讨厌的一个,哪个 Ui 元素)时,它现在再次正常工作,我单击第二个“结果”的第 3 个选项卡项,它仍然可以正常工作并渲染 UI 元素替换第一个.现在当我第二次点击回到第一个“结果”的第三个 TabItem 时,它开始了(我的意思是首先我点击了第一个结果的第三个 tabitem 然后我点击了第二个结果的第三个 TabItem,直到它工作正常并渲染两个不同的 UI 元素在同一个地方的不同点击但是现在当我回到第一个结果的第 3 个选项卡时,它使应用程序崩溃并出现该异常)
注意:请注意我已经在c#中动态绑定(bind)了这三个TabItems。
最佳答案
这不是一个奇怪的问题,而是一个非常普遍的问题。此外,错误消息真的再清楚不过了:
The element is already the child of another element.
WPF 中的每个 UI 元素一次只能在 UI 中的一个地方使用。我们可以四处移动它们,或者将它们从一个位置移除并将它们添加到另一个位置,但我们不能同时在两个位置添加相同的元素。
因此(无需查看您的所有代码),我只能假设您已尝试在动态创建的 TabControl
中使用已存在于 UI 中的对象。找到有问题的元素后,将其与新元素交换,也许是在从使用过的元素中复制值之后。这样做之后,您应该更幸运地显示您的第三个 TabItem
。
关于c# - 该元素已经是 TabControl 中另一个元素的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25508303/
一段时间以来,我一直在做这个反复出现的噩梦(阅读 - 我的应用程序中的错误)。出于某种原因,某个计时器在我停止后继续发送“Elapsed”事件,即使 在事件本身 计时器“承认”已被禁用!检查一下: /
为了找到 2 个 git 分支的共同祖先,需要做的是: git merge-base branch another_branch 好的。但是……如果两个分支都已经 merge 了怎么办?当我在这种情况
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 1年前关闭。 Improve this
我想要一个相机 View ,可以将图像捕获到本地文件或让用户从本地照片库中选择图像。我想也许有人为此编写了很好的库/代码。也许我可以利用它。已经有好的了吗?谢谢。我只是避免重新发明轮子:) 最佳答案
我从 master 分支创建了一个功能分支。之后有来自功能分支的提交 [F1]。 [F1] -- Feature Branch / [M1]-[M2
我喜欢使用 .NET 进行编程,尤其是 C# 3.0、.NET 3.5 和 WPF。但我特别喜欢的是 Mono .NET 确实与平台无关。 现在我听说了 Mono 中的 Olive 项目。我找不到某种
介绍和搜索 所以我认为我犯了一个严重的错误,我很担心。我已经分析了独立负责人的论坛,我已经接近找到答案,但场景太具体,不适用于我所在的位置。如果您找到可以回答我的问题的特定主题,请链接我。 例如:Ho
我有一个类似于下图的提交图。标记为 * 的提交表示大量提交。 A* | B--------- | | C* D* master 和 cor
我喜欢使用 .NET 进行编程,尤其是 C# 3.0、.NET 3.5 和 WPF。但我特别喜欢的是 Mono .NET 确实与平台无关。 现在我听说了 Mono 中的 Olive 项目。我找不到某种
我们最近接手了一个 .NET 项目,在查看 db 后,我们在某些列中有以下内容: 1)某些列具有诸如" & etc etc 2) 有些有 标签和其他非 html 编码的标签 这些数据
你好,当我导航到应用程序中的另一个页面时出现此错误 我不知道为什么这个错误出现 #0 _AsyncCompleter.complete (dart:async/future_impl.da
我使用以下 C 算法计算数据的 CRC32: #define CRC32_POLYNOM_REVERSED 0xEDB88320 uint32 calcCrc32(uint8* buffer, u
我试图在我的一个测试中断言模型中的字段没有改变。我知道从哲学上这是不正确的,但由于我控制了我需要知道的所有变量,所以我只想检查我的数据库条目是否没有改变。 我愿意接受一个解决方案,该解决方案可以将其转
我是 GitHub 的新手。并通过 Eclipse 使用它我们是两个人在开发一个应用程序。当我在 Git shell 中检查 git status 时,我得到以下状态。 On branch maste
简单代码: std::ifstream file("file.txt"); std::string line; while(getline(file,line)) ; //exhaust file
是的,我又找不到这个 Gradle DSL 方法:'compile()' 问题。 我检查了我有: buildscript { repositories { jcenter()
HTML: articles CSS: #main_menu { float: left; padding-top: 10px; vertical-align: m
我是一名优秀的程序员,十分优秀!