Панель команд: стиль ‘XamlDefaultCommandBar’ не найден

#uno-platform

#uno-платформа

Вопрос:

Я не нашел ключ ресурса ‘XamlDefaultCommandBar’ в соответствии с документами здесь, в приложении.Текущий.Ресурсы.

Тем не менее, я нашел ресурс ‘DefaultCommandBar’. Будет ли это правильным для режима «Windows» на платформах, отличных от UWP?

Спасибо

Ответ №1:

Можете ли вы предоставить более подробную информацию о том, что вы пробовали? XamlDefaultCommandBar Ресурс определенно присутствует в Uno и существует как минимум с Uno 2.0. Вы должны иметь возможность получить к нему доступ из кода, используя:

 #if !NETFXCORE
    var style = Application.Current.Resources["XamlDefaultCommandBar"] as Style;
#endif
  

или в Xaml с помощью:

 <CommandBar not_win:Style={StaticResource XamlDefaultCommandBar} />
  

(используется not_win префикс, поскольку он не предоставляется UWP по умолчанию).

В любом случае Uno будет использовать этот стиль по умолчанию для CommandBar . Вам нужно будет установить его вручную, только если вы переопределили глобальные настройки, чтобы Uno использовал собственные стили в других случаях.

Комментарии:

1. Хм… это не сработало в UWP Application.Current.Resources["XamlDefaultCommandBar"] … я также не нашел ключ ресурса "XamlDefaultCommandBar" при итерации по приложению. Текущий. Ресурсы. Ключи

2. Действительно, он предоставляется только Uno, а не UWP. Я отредактировал ответ, чтобы сделать это более понятным. Однако вам это не понадобится в UWP.

3. Спасибо, это помогает @DavidOliver