Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предыдущий: обновление списка команд.
До сих пор вы добавили только команды на одну страницу в расширении. Вы также можете добавить дополнительные команды непосредственно в список команд верхнего уровня.
Добавление команд верхнего уровня
Для этого перейдите к файлу <ExtensionName>CommandsProvider.cs
. В этом файле вы добавите команды, которые должны отображаться на верхнем уровне палитры команд. Как видно, в настоящее время существует только один элемент:
public <ExtensionName>CommandsProvider()
{
DisplayName = "My sample extension";
Icon = IconHelpers.FromRelativePath("Assets\\StoreLogo.png");
_commands = [
new CommandItem(new <ExtensionName>Page()) { Title = DisplayName },
];
}
public override ICommandItem[] TopLevelCommands()
{
return _commands;
}
В этом примере расширения создается список команд при создании расширения и возвращается этот список всякий раз, когда он запрашивает команды верхнего уровня. Это предотвращает повторное создание списка команд при каждом запросе команд верхнего уровня. Это оптимизация производительности.
Если вы хотите добавить другую команду в список команд верхнего уровня, можно добавить еще один CommandItem:
public <ExtensionName>CommandsProvider()
{
DisplayName = "My sample extension";
Icon = IconHelpers.FromRelativePath("Assets\\StoreLogo.png");
_commands = [
new CommandItem(new <ExtensionName>Page()) { Title = DisplayName },
new CommandItem(new ShowMessageCommand()) { Title = "Send a message" },
];
}
Вот и все. Теперь в расширение можно добавить дополнительные команды верхнего уровня.
Если вы хотите динамически обновить список команд верхнего уровня, это можно сделать так же, как и при обновлении страницы списка. Это может быть полезно для таких случаев, как расширение, которое может сначала требовать входа пользователя перед отображением определенных команд. В этом случае можно первоначально отобразить команду "Войти" на верхнем уровне. После успешного входа пользователя можно обновить список команд верхнего уровня, чтобы включить команды, необходимые для проверки подлинности.
После определения необходимости изменения списка верхнего уровня вызовите RaiseItemsChanged в CommandProvider. Затем палитра команд запросит команды верхнего уровня с помощью TopLevelCommands еще раз, и вы можете вернуть обновленный список.
Подсказка
Создайте объекты CommandItem для команд верхнего уровня перед вызовом RaiseItemsChanged. Это обеспечит доступность новых команд, когда палитра команд запрашивает команды верхнего уровня. Это обеспечит минимальное выполнение работы в каждом вызове метода TopLevelCommands .
Далее: Результаты команд
Связанный контент
Windows developer