Aktualizowanie dostosowań wstążki zmigrowanych do programu .NET Framework 4.5
Jeśli projekt zawiera dostosowanie wstążki, które zostało utworzone przy użyciu elementu projektu wstążki (Visual Projektant), należy wprowadzić następujące zmiany w kodzie projektu, jeśli struktura docelowa zostanie zmieniona na program .NET Framework 4 lub nowszy.
Zmodyfikuj wygenerowany kod wstążki.
Zmodyfikuj dowolny kod, który tworzy wystąpienia kontrolek wstążki w czasie wykonywania, obsługuje zdarzenia wstążki lub ustawia położenie składnika wstążki programowo.
Aktualizowanie wygenerowanego kodu wstążki
Jeśli struktura docelowa projektu zostanie zmieniona na .NET Framework 4 lub nowszą, musisz zmienić wygenerowany kod dla elementu wstążki, wykonując następujące kroki. Pliki kodu, które należy zaktualizować, zależą od języka programowania i sposobu tworzenia projektu:
W projektach Visual Basic lub w projektach Visual C# utworzonych w programie Visual Studio 2012 lub Visual Studio 2010 wykonaj wszystkie kroki w pliku wstążki (YourRibbonItem.Projektant. cs lub YourRibbonItem.Projektant. vb). Aby wyświetlić plik za pomocą kodu w projektach Visual Basic, kliknij przycisk Pokaż wszystkie pliki w Eksplorator rozwiązań.
W projektach Visual C# utworzonych w programie Visual Studio 2008, a następnie uaktualnionych do programu Visual Studio 2013, wykonaj pierwsze dwa kroki w pliku kodu wstążki (YourRibbonItem.cs lub YourRibbonItem.vb) i wykonaj pozostałe kroki w pliku wstążki kodu za pomocą wstążki.
Aby zmienić wygenerowany kod wstążki
Zmodyfikuj deklarację klasy wstążki, aby pochodziła z RibbonBase klasy zamiast
Microsoft.Office.Tools.Ribbon.OfficeRibbon
.Zmodyfikuj konstruktor klasy Wstążki, jak pokazano poniżej. Jeśli do konstruktora został dodany dowolny kod, nie należy zmieniać kodu. W projektach Visual Basic zmodyfikuj tylko konstruktor bez parametrów. Ignoruj inny konstruktor.
Poniższy przykład kodu przedstawia domyślny konstruktor klasy wstążki w projekcie przeznaczonym dla programu .NET Framework 3.5.
Poniższy przykład kodu przedstawia domyślny konstruktor klasy wstążki w projekcie przeznaczonym dla programu .NET Framework 4 lub nowszego.
W metodzie zmodyfikuj
InitializeComponent
dowolny kod tworzący kontrolkę wstążki, tak aby kod używał jednej z metod RibbonFactory pomocnika obiektu.Uwaga
W projektach Visual C# należy rozwinąć region o nazwie
Component Designer generated code
, aby wyświetlić metodęInitializeComponent
.Załóżmy na przykład, że plik zawiera następujący wiersz kodu, który tworzy wystąpienie RibbonButton elementu o nazwie
button1
w projekcie przeznaczonym dla programu .NET Framework 3.5.W projekcie przeznaczonym dla programu .NET Framework 4 lub nowszego należy użyć następującego kodu.
Aby uzyskać pełną listę metod pomocnika dla kontrolek wstążki, zobacz Tworzenie wystąpień kontrolek wstążki.
W projektach Visual C# zmodyfikuj dowolny wiersz kodu w
InitializeComponent
metodzie, która używa delegata EventHandler<TEventArgs> do używania określonego delegata wstążki.Załóżmy na przykład, że plik zawiera następujący wiersz kodu, który obsługuje Click zdarzenie w projekcie przeznaczonym dla programu .NET Framework 3.5.
<CodeContentPlaceHolder>8 W projekcie przeznaczonym dla programu .NET Framework 4 lub nowszego należy użyć następującego kodu.
<CodeContentPlaceHolder>9 Aby uzyskać pełną listę delegatów wstążki, zobacz Obsługa zdarzeń wstążki.
W projektach Visual Basic znajdź klasę
ThisRibbonCollection
na końcu pliku. Zmodyfikuj deklarację tej klasy, aby nie dziedziczyła już zMicrosoft.Office.Tools.Ribbon.RibbonReadOnlyCollection
klasy .
Tworzenie wystąpień kontrolek wstążki
Należy zmodyfikować dowolny kod, który dynamicznie tworzy wystąpienia kontrolek wstążki. W projektach przeznaczonych dla programu .NET Framework 3.5 kontrolki wstążki to klasy, które można utworzyć bezpośrednio w niektórych scenariuszach. W projektach przeznaczonych dla programu .NET Framework 4 lub nowszego te kontrolki są interfejsami, których nie można utworzyć bezpośrednio. Kontrolki należy utworzyć przy użyciu metod dostarczanych przez RibbonFactory obiekt .
Istnieją dwa sposoby uzyskiwania RibbonFactory dostępu do obiektu:
Za pomocą właściwości Factory klasy Wstążki. Użyj podejścia z kodu w klasie wstążki.
Przy użyciu
Globals.Factory.GetRibbonFactory
metody . Użyj podejścia do kodu spoza klasy wstążki. Aby uzyskać więcej informacji na temat klasy Globals, zobacz Globalny dostęp do obiektów w projektach pakietu Office.W poniższym przykładzie kodu pokazano, jak utworzyć klasę RibbonButton wstążki w projekcie przeznaczonym dla programu .NET Framework 4 lub nowszego.
<CodeContentPlaceHolder>10<CodeContentPlaceHolder>11 Poniższa tabela zawiera listę kontrolek, które można utworzyć programowo i metodę do utworzenia kontrolek w projektach przeznaczonych dla programu .NET Framework 4 lub nowszego.
Obsługa zdarzeń wstążki
Należy zmodyfikować dowolny kod, który obsługuje zdarzenia kontrolek wstążki. W projektach przeznaczonych dla programu .NET Framework 3.5 te zdarzenia są obsługiwane przez delegata ogólnego EventHandler<TEventArgs> . W projektach przeznaczonych dla programu .NET Framework 4 lub nowszego te zdarzenia są teraz obsługiwane przez innych delegatów.
W poniższej tabeli wymieniono zdarzenia wstążki i delegaty skojarzone z nimi w projektach przeznaczonych dla programu .NET Framework 4 lub nowszego.
Wydarzenie | Delegowanie do użycia w projektach .NET Framework 4 i nowszych |
---|---|
LoadImage zdarzenie w wygenerowanej klasie wstążki | RibbonLoadImageEventHandler |
Load | RibbonUIEventHandler |
Click Click ItemsLoading TextChanged ButtonClick ItemsLoading SelectionChanged TextChanged ButtonClick Click ItemsLoading DialogLauncherClick ItemsLoading Click Click |
RibbonControlEventHandler |
Programowe ustawianie położenia składnika wstążki
Należy zmodyfikować dowolny kod, który ustawia położenie grup wstążki, kart lub kontrolek. W projektach przeznaczonych dla programu .NET Framework 3.5 można użyć AfterOfficeId
metod i BeforeOfficeId
klasy statycznej Microsoft.Office.Tools.Ribbon.RibbonPosition
, aby przypisać Position
właściwość grupy, karty lub kontrolki. W projektach przeznaczonych dla programu .NET Framework 4 lub nowszego należy uzyskać dostęp do tych metod przy użyciu właściwości udostępnionej RibbonPosition RibbonFactory przez obiekt .
Istnieją dwa sposoby uzyskiwania RibbonFactory dostępu do obiektu:
Za pomocą
Factory
właściwości klasy Wstążki. Użyj podejścia z kodu w klasie wstążki.Przy użyciu
Globals.Factory.GetRibbonFactory
metody . Użyj podejścia do kodu spoza klasy wstążki. Aby uzyskać więcej informacji na temat klasy Globals, zobacz Globalny dostęp do obiektów w projektach pakietu Office.W poniższym przykładzie kodu pokazano, jak ustawić
Position
właściwość karty w klasie wstążki w projekcie przeznaczonym dla programu .NET Framework 3.5.
W poniższym przykładzie kodu pokazano to samo zadanie w projekcie przeznaczonym dla programu .NET Framework 4.