2011-03-08 15 views
14

Zgodnie z tym MSDN page, gdybym używał Okna, mógłbym wyłączyć kontrolkę w lewym górnym rogu, ustawiając ją na false. Tak: this.ControlBox = false;Jak usunąć menu systemowe w WPF?

Controlbox został maksymalizacji, minimalizacji, przywracania i zamknąć okno Opcje
I want to disable this box in my own application

Ale ponieważ używam RibbonWindow zamiast okna, w jaki sposób mogę wyłączyć moduł sterujący w tej sytuacji?

This question jest bardzo spokrewniony, ale staram się wyłączyć system menu cały czas, nie tylko po to, aby wyłączyć Alt + Spacja. Jest tak, ponieważ (jak sądzę) detektor działań dla SystemMenu w lewym górnym rogu blokuje klikalny element UI w moim XAML.

Należy zauważyć, że nie jest to problem z systemem Windows Server 2003, ale gdy aplikacja jest otwierana w systemie Windows 7, SystemMenu/ControlBox koliduje z elementem interfejsu w lewym górnym rogu.

Dodatkowo odkryłem, że ingerencja w menu systemu zazwyczaj powoduje wyłączenie przycisków w prawym górnym rogu aplikacji, ale nie chcę, aby tak się stało.

Dzięki za link Eammonn. Myślę, że to, co ta osoba próbowała zrobić, to wyłączyć przycisk [X] w prawym górnym rogu, a nie menu w lewym górnym rogu, ale mogę się mylić. Powodem, dla którego nie myślę, że to zadziała jest to, że używają <Window x:Class= i używam <dc:RibbonWindow x:Class=. Czy to robi różnicę?

+1

Skąd pochodzi Wstążka Wstążki (znam przynajmniej 2 różne biblioteki, które to zapewniają, zastanawiając się tylko, której z nich używasz). – CodingGorilla

+0

Microsoft.Windows.Control.Ribbon.RibbonWindow –

+1

Odpowiedź Eamonna również powinna działać dla RibbonWindow, ponieważ jest to tylko rozszerzenie okna. Office 2010 ponownie wprowadził pole kontrolne (z ikoną). Office 2007 ukrył to, na korzyść kuli. Czy to przeszkadza kuli lub pasku narzędzi szybkiego dostępu? – CodeNaked

Odpowiedz

14

Okno WPF nie jest obiektem System.Windows.Forms, więc this.ControlBox = false i tak by nie działało. Nie ma wyraźnego nieruchomość to zrobić w WPF, ale ten artykuł

http://winsharp93.wordpress.com/2009/07/21/wpf-hide-the-window-buttons-minimize-restore-and-close-and-the-icon-of-a-window/

Opisuje w jaki sposób można usunąć wersji WPF skrzynki kontrolnej.

kontrole WPF pochodzą z System.Windows.Controls a nie System.Windows.Forms

+1

Dzięki! Czy wiesz, jaki rodzaj obiektu ma okno WPF? –

+1

To kontrola. –

+0

Aby być konkretnym, jest to kontrola WPF, która "opakowuje" natywne okno (to jest HWND). – CodeNaked

0

ustawić okno w

<Window ... 
    WindowStyle="ToolWindow" 
    ResizeMode="NoResize"> 

powodzenia.