2011-03-25 65 views
1

我試圖在WPF應用程序中實現Outlook功能區,並且功能區正常工作。但是,當我嘗試添加RibbonGroup時,XAML中出現未處理的異常。添加RibbonGroup時未處理的異常

這裏是我的代碼:

<r:RibbonWindow 
    x:Class="WpfArticles.Main" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary" 
    Title="Main" Height="500" Width="500"> 

    <StackPanel> 
     <r:Ribbon Title="WPF Ribbon - Document1" x:Name="ribbon" > 
      <r:RibbonTab Label="Home"> 
       <r:RibbonGroup Name="Test" /> 
      </r:RibbonTab> 
      <r:RibbonTab Label="Insert"/> 
      <r:RibbonTab Label="Help"/> 
     </r:Ribbon > 

,我在XAML收到此錯誤:

Object reference not set to an instance of an object. at 
Microsoft.Windows.Controls.Ribbon.RibbonGroup.OnApplyTemplate() at 
System.Windows.FrameworkElement.ApplyTemplate() at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.StackPanel.MeasureOverride(Size constraint) at 
Microsoft.Windows.Controls.Ribbon.RibbonGroupsContainer.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at 
System.Windows.Controls.ScrollContentPresenter.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) at 
System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) at 
System.Windows.Controls.Grid.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.ScrollViewer.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Grid.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Border.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at 
System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Control.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) at 
System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) at 
System.Windows.Controls.Grid.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Control.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.StackPanel.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at 
System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Decorator.MeasureOverride(Size constraint) at 
System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) at 
System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) at 
System.Windows.Controls.Grid.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Border.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Border.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.DockPanel.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Border.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Grid.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Control.MeasureOverride(Size constraint) at 
MS.Internal.WindowControl.DesignTimeWindow.MeasureOverride(Size availableSize) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
MS.Internal.Designer.SimpleViewManager.DesignerBackground.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Decorator.MeasureOverride(Size constraint) at 
Microsoft.Windows.Design.Interaction.DesignerView.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
MS.Internal.Designer.Viewport.MeasureOverride(Size availableSize) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at 
System.Windows.Controls.ScrollContentPresenter.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) at 
System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) at 
System.Windows.Controls.Grid.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.ScrollViewer.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Grid.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at 
System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Controls.Control.MeasureOverride(Size constraint) at 
System.Windows.FrameworkElement.MeasureCore(Size availableSize) at 
System.Windows.UIElement.Measure(Size availableSize) at 
System.Windows.Interop.HwndSource.SetLayoutSize() at 
System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value) at 
System.Windows.Interop.HwndSource.set_RootVisual(Visual value) at 
MS.Internal.Designer.VSIsolatedDesigner.ViewHolder.Initialize() at 
MS.Internal.Designer.VSIsolatedDesigner.ViewHolder..ctor(UIElement content) at 
MS.Internal.Designer.VSIsolatedDesigner.VSIsolatedView.get_ViewHandle() at 
MS.Internal.Host.Isolation.IsolatedView.get_ViewHandle() at 
MS.Internal.Designer.DesignerPane.LoadDesignerView() 

我在做什麼錯?沒有<r:RibbonGroup Name="Test" />它工作正常!

感謝您的幫助和時間

回答

0

我下載了該功能區,但由於某種原因無法添加參考。無論如何,我下載了一個例子,它清楚地表明,如果該組爲空,它將拋出異常。所以現在一切正常。謝謝你的幫助!

0

我懷疑你使用的是舊版本,作爲標籤屬性不再有效。最新版本可以在here找到。