Mesen2/UI/Windows/MainWindow.axaml
Sour 8dda623a1f UI: Focus game selection screen on startup
+Try to avoid menu getting stuck with focus
+Improve keyboard/gamepad navigation for it
+Make selected game a bit easier to see
2024-12-26 16:09:17 +09:00

62 lines
2 KiB
XML

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:m="clr-namespace:Mesen"
xmlns:c="using:Mesen.Controls"
xmlns:v="using:Mesen.Views"
xmlns:l="using:Mesen.Localization"
xmlns:vm="using:Mesen.ViewModels"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="512" d:DesignHeight="505"
x:Class="Mesen.Windows.MainWindow"
Width="512" Height="505"
MinWidth="160" MinHeight="144"
DragDrop.AllowDrop="True"
x:DataType="vm:MainWindowViewModel"
Topmost="{Binding Config.Preferences.AlwaysOnTop}"
Title="{Binding WindowTitle}"
>
<Design.DataContext>
<vm:MainWindowViewModel />
</Design.DataContext>
<Window.DataTemplates>
<DataTemplate DataType="{x:Type vm:AudioPlayerViewModel}">
<v:AudioPlayerView />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:RecentGamesViewModel}">
<c:StateGrid IsVisible="{Binding Visible}" Entries="{Binding GameEntries}" Title="{Binding Title}" Mode="{Binding Mode}" />
</DataTemplate>
</Window.DataTemplates>
<DockPanel>
<Panel DockPanel.Dock="Top" IsVisible="{Binding IsMenuVisible}">
<Panel DataContext="{Binding MainMenu}">
<v:MainMenuView Name="MainMenu" />
</Panel>
</Panel>
<ContentControl Name="AudioPlayer" DockPanel.Dock="Bottom" Content="{Binding AudioPlayer}" />
<Panel Name="RendererPanel" Background="Black" Focusable="True">
<ContentControl Background="#181818" Content="{Binding RecentGames}" IsVisible="{Binding RecentGames.Visible}" />
<m:NativeRenderer
Name="Renderer"
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsVisible="{Binding IsNativeRendererVisible}"
/>
<Panel IsVisible="{Binding IsSoftwareRendererVisible}">
<c:SoftwareRendererView
Name="SoftwareRenderer"
DataContext="{Binding SoftwareRenderer}"
Width="{Binding Width}"
Height="{Binding Height}"
/>
</Panel>
</Panel>
</DockPanel>
</Window>