使用最新(2010年10月)的WPF功能區庫,存在一個菜單項以最小化/最大化(或者摺疊/展開,如果您願意)功能區控件。WPF功能區摺疊並以編程方式擴展
有誰知道是否還有一種方法掛鉤到控制此行爲的事件中,以便可以從單獨的UI以編程方式控制它? 或者,更好的方法是有辦法讓摺疊/展開按鈕在2010 Office應用程序中顯示在功能區中?
使用最新(2010年10月)的WPF功能區庫,存在一個菜單項以最小化/最大化(或者摺疊/展開,如果您願意)功能區控件。WPF功能區摺疊並以編程方式擴展
有誰知道是否還有一種方法掛鉤到控制此行爲的事件中,以便可以從單獨的UI以編程方式控制它? 或者,更好的方法是有辦法讓摺疊/展開按鈕在2010 Office應用程序中顯示在功能區中?
您可以使用Ribbon
類的布爾屬性IsMinimized
來顯示/隱藏功能區本身。它是一個依賴屬性,所以你可以綁定它的值來支持你描述的場景。
據我所知,默認模板沒有顯示/隱藏按鈕,就像Office一樣,但修改模板(使用Blend)添加一個模板不應該太困難。
如果你需要的是知道什麼時候酒吧得到最小化(這發生在你雙擊標籤標題時),你可以掛鉤IsMinimizedChanged
事件,但呃..它是缺少的。 希望這是一個DependencyProperty
這樣你就可以成功地鉤到任何DependencyProperty
變化是這樣的:
DependencyPropertyDescriptor.FromProperty(Ribbon.IsMinimizedProperty, typeof(Ribbon)) .AddValueChanged(ribbon, (o, args) => /* your code here */);
我想做的事(因此來到這裏)是爲了防止它從點擊標題,以便最大限度地減少時,雙我結束了使用此代碼:
DependencyPropertyDescriptor.FromProperty(Ribbon.IsMinimizedProperty, typeof(Ribbon)) .AddValueChanged(ribbon, (o, args) => ribbon.IsMinimized = false);
沒那麼花哨,但能夠完成任務。
添加一個切換按鈕(簡單的按鈕,並設置其內容v或^根據所請求的操作),然後就可以在點擊按鈕使用ContentControl中,以滿足您的要求:
ContentControl contentControl = FindVisualChildataBankyName<ContentControl>(rbnName, "mainItemsPresenterHost");
contentControl.Visibility = System.Windows.Visibility.Collapsed;
使用contentControl.Visibility = System.Windows.Visibility.Visible;爲了最大化色帶
謝謝。我已使用該屬性以及功能區上的SizeChanged事件。 我可能會延期修改模板。 – 2011-03-16 21:23:15