2010-10-13 52 views
2

首先,我創建了一個WPF應用程序,然後嚮應用程序添加了新的RibbonWindows,並將其命名爲RibbonWindow1。現在我想通過下面的代碼設置色帶控件的內容並顯示色帶:如何在WPF中爲功能區窗口設置usercontrol?

RibbonWindow1 ribWindow = new RibbonWindow1 
      { 
       Title = "This is a ribbon window", 
       Content = new UserControl1() 
      }; 
      ribWindow.ShowDialog(); 

但是我看不到色帶欄。如果我刪除了內容,功能區將顯示出來,同樣如果我使用拖放功能,我可以顯示它,但我想通過簡單的代碼動態顯示。 如果我可以將相關控件停靠在特定的網格單元格中,它將對我有所幫助。有什麼建議麼?

+0

的方法您無法將控件添加到功能區窗口,您需要將它們添加到RibbonTab中的功能區組。 – kyndigs 2010-10-13 12:25:36

+0

你能解釋一下你在說什麼嗎?正如我所看到的功能區組沒有任何屬性設置它,如果你使用拖放控件將被放入RibbonWindow的Grid中,而不是在RibbonGroup或ribbontab的相關項目中。 – 2010-10-13 14:19:40

回答

0

在我對RibbonWindow的一點經驗中,我看到Ribbon是Ribbonwindow本身內容的一部分。所以,一個解決辦法是公開爲設置你的用戶控件功能區窗口的公共方法,如:

<ribbon:RibbonWindow ...> 
<Grid x:Name="LayoutRoot"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 

    <ribbon:Ribbon x:Name="Ribbon" /> 
    //add a container for your usercontrol 
    <Grid Name="contentPlaceHolder" Grid.Row="1"></Grid> 
</Grid> 

,並在代碼中你可以設置像

public void SetControl(UserControl uc) 
{ 
    this.contentPlaceHolder.Content = uc; 
} 
+0

嗨米歇爾,對不起,遲到的迴應,目前我沒有在這方面工作,我第一次轉換,我會閱讀你的答案:) – 2011-02-08 07:27:05

+0

你能提供一段代碼,你有這個問題嗎?也許XAML +代碼會更具描述性;) – michele 2011-02-08 08:35:06

相關問題