/ / Jak korzystać z tego samego paska narzędzi na kartach wstążki WPF? - wpf, xaml, ribbon

Jak korzystać z tego samego paska narzędzi w zakładkach wstążki WPF? - wpf, xaml, wstążka

Jestem nowy w WPF i bawiłem się wstążkąkontrola. Mam trzy różne zakładki wstążki, jak pokazano w poniższym kodzie. Używam tych samych przycisków paska opłat. Sposób, w jaki napisałem, jak pokazano poniżej, nie wydaje się optymalnym podejściem do pamięci. Czy ktoś może pomóc w modyfikacji kodu, abym mógł używać tego samego paska narzędzi bez powtarzania na wszystkich kartach wstążki?

        <ribbon:RibbonTab x:Name="HomeTab"
Header="Home">
<ribbon:RibbonGroup x:Name="Group1"
Header="">
<ribbon:RibbonButton x:Name="Update1"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Update" />
<ribbon:RibbonButton x:Name="Register1"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Register" />
<ribbon:RibbonButton x:Name="Uninstall1"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Uninstall"  />
<ribbon:RibbonButton x:Name="Invisible1"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Go invisible" Click="Invisible_Click"/>
<ribbon:RibbonButton x:Name="Help1"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Help" />
<ribbon:RibbonButton x:Name="Quit1"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Quit" Click="Quit_Click"/>
</ribbon:RibbonGroup>

</ribbon:RibbonTab>
<ribbon:RibbonTab x:Name="LogTab"
Header="Log History">
<ribbon:RibbonGroup x:Name="Group11"
Header="">
<ribbon:RibbonButton x:Name="Update2"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Update" />

<ribbon:RibbonButton x:Name="Regiter2"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Register" />
<ribbon:RibbonButton x:Name="Uninstall2"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Uninstall" />
<ribbon:RibbonButton x:Name="Invisible2"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Go invisible" Click="Invisible_Click"/>
<ribbon:RibbonButton x:Name="Help2"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Help" />
<ribbon:RibbonButton x:Name="Quit2"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Quit" Click="Quit_Click" />
</ribbon:RibbonGroup>

</ribbon:RibbonTab>
<ribbon:RibbonTab x:Name="SettingsTab"
Header="Settings">
<ribbon:RibbonGroup x:Name="Group21"
Header="">
<ribbon:RibbonButton x:Name="Update3"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Update" />

<ribbon:RibbonButton x:Name="Register3"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Register" />
<ribbon:RibbonButton x:Name="Uninstall3"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Uninstall" />
<ribbon:RibbonButton x:Name="Invisible3"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Go invisible" Click="Invisible_Click" />
<ribbon:RibbonButton x:Name="Help3"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Help" />
<ribbon:RibbonButton x:Name="Quit3"
LargeImageSource="/T-Spy;component/Resources/favicon.ico"
Label="Quit"  Click="Quit_Click"/>
</ribbon:RibbonGroup>

</ribbon:RibbonTab>

Odpowiedzi:

0 dla odpowiedzi № 1

Dlaczego nie stworzyć UserControl z podstawowym typem wstążka: RibbonGroup, a następnie po prostu upuść go w każdej sekcji w razie potrzeby? Następnie masz unikalny kontekst każdej kontrolki, więc nie ma konfliktów.

Wszelkie manipulacje właściwościami wymagają zarządzania za pomocą Właściwości zależności.