我为一个大项目使用了用于WPF的Ribbon库。现在,当我有一个容易创建的问题时。假设我有一个RibbonButton并设置了QuickAccessToolBarId属性。它可以将此按钮添加到QuickAccessToolBar。当我设置ribbonButton.DataContext = ribbonButton;并将此按钮添加到QuickAccessBar中,它会引发堆栈溢出异常。我将这个问题追溯到图书馆,但没有任何线索;我认为有些东西是在Microsoft.Windows.Shell程序集中实现的,我无法介入。
我知道这不是使用DataContext的常规方法,但我想知道在添加快速访问栏时导致堆栈覆盖的原因。
谢谢,
答案 0 :(得分:1)
我认为堆栈溢出是由于您尝试将数据上下文设置为控件本身而引起的。这就像你递归地调用某个函数并且永远不会离开它。这样,你创建了无限循环,这导致堆栈溢出。它与QuickAccessToolBar无关。