При написании конкретного XAML-устройства, использующего UWP, мы можем создавать разные виды XAML для каждого семейства устройств. Например, Track.DeviceFamily-Xbox.xaml
. На этой странице используется тот же внутренний номер, что и Track.xaml
, но будет загружаться при использовании приложения на Xbox.Загрузка пользовательского интерфейса устройства с использованием InitializeComponent()
Мы также можем передать URL-адрес методу InitializeComponent()
для загрузки определенной страницы xaml.
Теперь мне интересно, могу ли я объединить эти методы вместе. В этом примере я хотел бы загрузить пользовательский интерфейс Xbox во весь экран. Следующий код будет идеальным способом сделать это, но .. ну я здесь, так что это не работает :)
public Track()
{
// If the app is full screen, we can use the Xbox UI
if (App.IsFullScreen)
{
InitializeComponent(new Uri("ms-appx:///Views/Track.DeviceFamily-Xbox.xaml", UriKind.Absolute));
}
else
{
InitializeComponent();
}
// etc ...
}
Кто-нибудь есть какие-нибудь идеи, с тем, что я могу сделать? Есть ли способ загрузить конкретное представление Xbox или просто создать представление XAML, вызвать его TrackXbox.xaml
, а затем обработать загрузку этого представления, когда пользователь будет полноэкранным или работает на Xbox?
Извините за задержку, были довольно заняты. Я не могу легко применить метод Visual State из-за того, что XAML очень отличается для Xbox и ПК. Но спасибо за помощь! –