2011-06-30 8 views
9

Jestem nowy w WPF. I przez nowe, mam na myśli, że właśnie zacząłem to dzisiaj po otrzymaniu .net 3.5. Zwykle robię GUI Development w Windows Forms i lubię niesamowite ToolStripMenu. Ale kiedy zobaczyłem menu WPF, było tak brzydkie, że przypominało mi to moje dni Win32 Api. Czy istnieje sposób na zmianę stylu menu WPF, aby wyglądał jak menu Windows Forms?Jak zrobić menu WPF wyglądać jak Windows Forms ToolStripMenu?

+0

Masz na myśli ten obraz (WinForms) jeden http://www.code-magazine.com/ArticleImage.aspx?QuickID=0601071&Image=fig_007.gif? –

+1

Yup. zauważ fantazyjny gradient winForm ma na swoich menu i paskach narzędzi – ApprenticeHacker

+0

Czekam na 20 minut i mam tylko 12 wyświetleń i ** JEDNA ODPOWIEDŹ? ** Czy wszyscy są martwi? – ApprenticeHacker

Odpowiedz

6

spróbuj tego:

Wprowadzenie do stylizacji i szablonów: http://msdn.microsoft.com/en-us/library/ms745683.aspx

Nowa stylizacja na pasku http://msdn.microsoft.com/en-us/library/aa970772.aspx

Ewentualnie szukać WPF ToolBar stylu

EDIT: Tak - ale dodaj takie menu, a pasek narzędzi zmieni styl menu (wklej nowy projektu):

<Grid> 
<Grid.RowDefinitions> 
    <RowDefinition Height="Auto"></RowDefinition> 
    <RowDefinition Height="*"></RowDefinition> 
</Grid.RowDefinitions> 
<ToolBarTray > 
    <ToolBar > 
    <Menu> 
    <MenuItem Header="Hey"> 
     <MenuItem Header="lo"></MenuItem> 
    </MenuItem> 
    <MenuItem Header="Ho"> 
     <MenuItem Header="la"></MenuItem> 
    </MenuItem> 
    </Menu> 
</ToolBar> 
</ToolBarTray> 

+0

Chciałem wiedzieć o menu, a nie pasków narzędzi. Ale to pomaga. Dzięki! – ApprenticeHacker

+0

Awesome, thanks! Myliłem się co do WPF, nawet lepiej niż formularze Windows! uprowadzenie i tykanie! – ApprenticeHacker

1

menu, podobnie jak większość formantów WPF ma bardzo mało stylizacji domyślnie.

Ale to jest domyślnie, możesz łatwo dodać własne style i przyćmić WinForm.

Tylko trochę rozrusznik:

<Menu DockPanel.Dock="Top" > 
     <Menu.Background> 
      <LinearGradientBrush EndPoint="0,1" StartPoint="0,0"> 
       <GradientStop Color="White" Offset="0" /> 
       <GradientStop Color="Blue" Offset="1" /> 
      </LinearGradientBrush> 
     </Menu.Background> 
     <MenuItem Header="_File" > 
+0

Dzięki! Możesz więc zdecydować, jakiego gradientu użyć! – ApprenticeHacker

+0

Tak, z dowolną liczbą punktów i kolorów. Zobacz także ImageBrush, RadialGradientBrush, ... I używaj stylów. –

+0

@HenkHolterman Czy ma zły wpływ na użycie pamięci i wydajność? – Adrian

Powiązane problemy