Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud váš projekt obsahuje přizpůsobení pásu karet vytvořené pomocí položky projektu pásu karet (Vizuální návrhář ), musíte v kódu projektu provést následující změny, pokud se cílová architektura změní na rozhraní .NET Framework 4 nebo novější.
Upravte vygenerovaný kód pásu karet.
Upravte veškerý kód, který vytváří instance ovládacích prvků pásu karet za běhu, zpracovává události pásu karet nebo nastaví umístění součásti pásu karet programově.
Aktualizace vygenerovaného kódu pásu karet
Pokud se cílová architektura projektu změní na rozhraní .NET Framework 4 nebo novější, musíte změnit vygenerovaný kód pro položku pásu karet provedením následujících kroků. Soubory kódu, které potřebujete aktualizovat, závisí na programovacím jazyce a na tom, jak jste projekt vytvořili:
V projektech Jazyka Visual Basic nebo v projektech Visual C#, které jste vytvořili v sadě Visual Studio 2012 nebo Visual Studio 2010, proveďte všechny kroky v souboru kódu na pásu karet (YourRibbonItem). Designer.cs nebo YourRibbonItem. Designer.vb). Pokud chcete zobrazit soubor kódu v projektech jazyka Visual Basic, klikněte v Průzkumník řešení na tlačítko Zobrazit všechny soubory.
V projektech Visual C#, které jste vytvořili v sadě Visual Studio 2008 a potom jste upgradovali na Visual Studio 2013, proveďte první dva kroky v souboru s kódem pásu karet (YourRibbonItem.cs nebo YourRibbonItem.vb) a proveďte zbývající kroky v souboru kódu pásu karet.
Změna vygenerovaného kódu pásu karet
Upravte deklaraci třídy pásu karet tak, aby byla odvozena od RibbonBase namísto
Microsoft.Office.Tools.Ribbon.OfficeRibbon
.Upravte konstruktor třídy pásu karet, jak je znázorněno níže. Pokud jste do konstruktoru přidali libovolný vlastní kód, neměňte kód. V projektech jazyka Visual Basic upravte pouze konstruktor bez parametrů. Ignorujte druhý konstruktor.
Následující příklad kódu ukazuje výchozí konstruktor třídy pásu karet v projektu, který cílí na rozhraní .NET Framework 3.5.
Následující příklad kódu ukazuje výchozí konstruktor třídy pásu karet v projektu, který cílí na rozhraní .NET Framework 4 nebo novější.
InitializeComponent
V metodě upravte veškerý kód, který vytváří ovládací prvek pásu karet tak, aby kód místo toho používal jednu z pomocných metod objektuRibbonFactory.Poznámka:
V projektech Visual C# je nutné rozbalit oblast, která je pojmenovaná
Component Designer generated code
, aby se zobrazilaInitializeComponent
metoda.Předpokládejme například, že váš soubor obsahuje následující řádek kódu, který vytvoří instanci pojmenovaného RibbonButton
button1
v projektu, který cílí na rozhraní .NET Framework 3.5.V projektu, který cílí na rozhraní .NET Framework 4 nebo novější, musíte místo toho použít následující kód.
Úplný seznam pomocných metod ovládacích prvků pásu karet najdete v tématu Vytvoření instance ovládacích prvků pásu karet.
V projektech Visual C# upravte libovolný řádek kódu v
InitializeComponent
metodě, který místo toho používá EventHandler<TEventArgs> delegáta k použití konkrétního delegáta na pásu karet.Předpokládejme například, že váš soubor obsahuje následující řádek kódu, který zpracovává Click událost v projektu, který cílí na rozhraní .NET Framework 3.5.
<CodeContentPlaceHolder>8 V projektu, který cílí na rozhraní .NET Framework 4 nebo novější, musíte místo toho použít následující kód.
<CodeContentPlaceHolder>9 Úplný seznam delegátů pásu karet najdete v tématu Zpracování událostí pásu karet.
V projektech jazyka Visual Basic vyhledejte
ThisRibbonCollection
třídu na konci souboru. Upravte deklaraci této třídy tak, aby již nedědila zMicrosoft.Office.Tools.Ribbon.RibbonReadOnlyCollection
.
Vytvoření instance ovládacích prvků pásu karet
Je nutné upravit jakýkoli kód, který dynamicky vytvoří instanci ovládacích prvků pásu karet. V projektech, které cílí na rozhraní .NET Framework 3.5, jsou ovládací prvky pásu karet třídy, které můžete vytvořit instanci přímo v určitých scénářích. V projektech, které cílí na rozhraní .NET Framework 4 nebo novější, jsou tato rozhraní rozhraní, která nelze vytvořit přímo. Ovládací prvky je nutné vytvořit pomocí metod, které objekt poskytuje RibbonFactory .
Objekt můžete získat RibbonFactory dvěma způsoby:
Použitím vlastnosti Factory třídy pásu karet. Použijte tento přístup z kódu ve své třídě pásu karet.
Globals.Factory.GetRibbonFactory
Pomocí metody. Použijte tento přístup z kódu mimo svou třídu pásu karet. Další informace o třídě Globals naleznete v tématu Globální přístup k objektům v projektech Office.Následující příklad kódu ukazuje, jak vytvořit RibbonButton v pásu karet třídy v projektu, který cílí na rozhraní .NET Framework 4 nebo novější.
<CodeContentPlaceHolder>10<CodeContentPlaceHolder>11 Následující tabulka uvádí ovládací prvky, které můžete vytvořit programově, a metodu, která se má použít k vytvoření ovládacích prvků v projektech, které cílí na rozhraní .NET Framework 4 nebo novější.
Zpracování událostí pásu karet
Je nutné upravit jakýkoli kód, který zpracovává události ovládacích prvků pásu karet. V projektech, které cílí na rozhraní .NET Framework 3.5, tyto události zpracovává obecný EventHandler<TEventArgs> delegát. V projektech, které cílí na rozhraní .NET Framework 4 nebo novější, jsou tyto události nyní zpracovávány jinými delegáty.
Následující tabulka uvádí události pásu karet a delegáty přidružené k nim v projektech, které cílí na rozhraní .NET Framework 4 nebo novější.
Událost | Delegování na použití v projektech .NET Framework 4 a novějších |
---|---|
LoadImage událost ve vygenerované třídě pásu karet | RibbonLoadImageEventHandler |
Load | RibbonUIEventHandler |
Click Click ItemsLoading TextChanged ButtonClick ItemsLoading SelectionChanged TextChanged ButtonClick Click ItemsLoading DialogLauncherClick ItemsLoading Click Click |
RibbonControlEventHandler |
Nastavení pozice součásti pásu karet prostřednictvím kódu programu
Je nutné upravit jakýkoli kód, který nastaví umístění skupin pásu karet, karet nebo ovládacích prvků. V projektech, které cílí na rozhraní .NET Framework 3.5, můžete pomocí AfterOfficeId
metod BeforeOfficeId
statické Microsoft.Office.Tools.Ribbon.RibbonPosition
třídy přiřadit Position
vlastnost skupiny, tabulátoru nebo ovládacího prvku. V projektech, které cílí na rozhraní .NET Framework 4 nebo novější, musíte k těmto metodám přistupovat pomocí RibbonPosition vlastnosti poskytované objektem RibbonFactory .
Objekt můžete získat RibbonFactory dvěma způsoby:
Factory
Pomocí vlastnosti pásu karet třídy. Použijte tento přístup z kódu ve své třídě pásu karet.Globals.Factory.GetRibbonFactory
Pomocí metody. Použijte tento přístup z kódu mimo svou třídu pásu karet. Další informace o třídě Globals naleznete v tématu Globální přístup k objektům v projektech Office.Následující příklad kódu ukazuje, jak nastavit
Position
vlastnost karty v pásu karet třídy v projektu, který cílí na rozhraní .NET Framework 3.5.
Následující příklad kódu ukazuje stejný úkol v projektu, který cílí na rozhraní .NET Framework 4.