| Description | when using a combobox in a LayoutScaler the pop over position is incorrect and blocks the combobox itself leading to visual glitches and inability to use controls
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:noesis="clr-namespace:NoesisGUIExtensions"
d:DataContext="InGamePauseScreenVM Data 01"
Background="#00000000"
mc:Ignorable="d" xmlns:system="clr-namespace:System;assembly=mscorlib" d:DesignWidth="1280" d:DesignHeight="720" xmlns:b="http://schemas.microsoft.com/xaml/behaviors">
<Page.Resources>
<ResourceDictionary>
</ResourceDictionary>
</Page.Resources>
<Page.Visibility>
<Binding Path="show_screen">
<Binding.Converter>
<BooleanToVisibilityConverter />
</Binding.Converter>
</Binding>
</Page.Visibility>
<noesis:LayoutScaler ReferenceResolution="640,360" ScaleFactor="1.207">
<Grid>
<Border Background="#FF000000" BorderBrush="#FF000000" BorderThickness="1" Opacity="0.946"/>
<Border BorderBrush="#FF000000" BorderThickness="1" Opacity="0.057">
<Border.Background>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Offset="0" Color="#FF14ACD3"/>
<GradientStop Offset="1" Color="#FF00D9FF"/>
<GradientStop Offset="0.8741006" Color="#FF16C539"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<StackPanel Margin="25,25,25,25" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<Grid x:Name="Settings" HorizontalAlignment="Right" Width="304" Margin="0,28,31,0" VerticalAlignment="Top">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="20"/>
<ColumnDefinition Width="5*"/>
</Grid.ColumnDefinitions>
<StackPanel x:Name="GameUpscaleText" VerticalAlignment="Top" Margin="0,0,0,10"/>
<Grid x:Name="GameUpscaleCell" Grid.Column="2" Height="12" VerticalAlignment="Top" Margin="0,0,0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="8*"/>
</Grid.ColumnDefinitions>
<TextBlock TextWrapping="Wrap" Text="{Binding Path=display_settings.game_upscale, StringFormat=F2}" Style="{DynamicResource DefaultText}" TextAlignment="Center" VerticalAlignment="Center" FontSize="5"/>
<Slider x:Name="GameUpscaleSlider" Value="{Binding Path=display_settings.game_upscale, Mode=TwoWay}" Template="{DynamicResource SettingsSlider}" Grid.Column="1" IsSnapToTickEnabled="True" SmallChange="0.25" TickFrequency="0.25" Minimum="0.25" Maximum="2" LargeChange="0.25">
<b:Interaction.Triggers>
<b:EventTrigger EventName="LostMouseCapture">
<b:InvokeCommandAction Command="{Binding Path=display_settings.game_upscale_changed}" CommandParameter="1"/>
</b:EventTrigger>
</b:Interaction.Triggers>
</Slider>
</Grid>
<StackPanel x:Name="UIScaleText" Grid.Row="1" VerticalAlignment="Top" Margin="0,0,0,10"/>
<Grid x:Name="UIScaleCell" Grid.Column="2" Height="12" VerticalAlignment="Top" Grid.Row="1" Margin="0,0,0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="8*"/>
</Grid.ColumnDefinitions>
<TextBlock TextWrapping="Wrap" Text="{Binding Path=display_settings.ui_scale, StringFormat=F1}" Style="{DynamicResource DefaultText}" TextAlignment="Center" VerticalAlignment="Center" FontSize="5"/>
<Slider x:Name="UIScaleSlider" Value="{Binding Path=display_settings.ui_scale, Mode=TwoWay}" Template="{DynamicResource SettingsSlider}" IsSnapToTickEnabled="True" Minimum="0.8" Maximum="1.2" LargeChange="0.1" Grid.ColumnSpan="2" Margin="25,0,4,0" TickFrequency="0.1">
<b:Interaction.Triggers>
<b:EventTrigger EventName="LostMouseCapture">
<b:InvokeCommandAction Command="{Binding Path=display_settings.ui_scale_changed}" CommandParameter="1"/>
</b:EventTrigger>
</b:Interaction.Triggers>
</Slider>
</Grid>
<StackPanel x:Name="FullScreenToggleText" Grid.Row="2" VerticalAlignment="Top" Margin="0,0,0,10"/>
<ToggleButton x:Name="FullScreenToggle" Grid.Column="2" Grid.Row="2" HorizontalAlignment="Left" VerticalAlignment="Top" IsChecked="{Binding Path=display_settings.is_fullscreen, Mode=TwoWay}" Content="X" Command="{Binding Path=display_settings.is_fullscreen_changed}" CommandParameter="{Binding Path=display_settings.is_fullscreen}" Margin="0,0,0,10"/>
<StackPanel x:Name="FullScreenRestText" Grid.Row="3" VerticalAlignment="Top" Margin="0,0,0,10"/>
<ComboBox x:Name="FullScreenResComboBox" Grid.Row="3" Grid.Column="2" MaxDropDownHeight="200" VerticalAlignment="Top" IsSynchronizedWithCurrentItem="False" SelectedIndex="{Binding Path=display_settings.selected_resolution_index, Mode=TwoWay}" ScrollViewer.CanContentScroll="True" Margin="0,0,0,10">
<b:Interaction.Triggers>
<b:EventTrigger EventName="LostMouseCapture">
<b:InvokeCommandAction Command="{Binding Path=display_settings.resolution_index_changed}" CommandParameter="1"/>
</b:EventTrigger>
</b:Interaction.Triggers>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
</ComboBox>
<StackPanel x:Name="FullScreenText001" Grid.Row="4" Margin="0,0,0,10"/>
<ComboBox x:Name="FullScreenResComboBox001" Grid.Row="4" Grid.Column="2" MaxDropDownHeight="200" VerticalAlignment="Top" ScrollViewer.CanContentScroll="False" IsSynchronizedWithCurrentItem="False" SelectedIndex="{Binding Path=display_settings.selected_refresh_rate_index}" Margin="0,0,0,10">
<b:Interaction.Triggers>
<b:EventTrigger EventName="LostMouseCapture">
<b:InvokeCommandAction Command="{Binding Path=display_settings.refresh_rate_index_changed}" CommandParameter="1"/>
</b:EventTrigger>
</b:Interaction.Triggers>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
<ComboBoxItem Content="ComboBoxItem" Width="80"/>
</ComboBox>
<StackPanel x:Name="VerticalSyncText" Grid.Row="5" VerticalAlignment="Top" Grid.RowSpan="2" Margin="0,0,0,10"/>
<ToggleButton Grid.Column="2" Grid.Row="5" HorizontalAlignment="Left" VerticalAlignment="Top" IsChecked="{Binding Path=display_settings.vsync_enabled, Mode=TwoWay}" Content="X" Command="{Binding Path=display_settings.vsync_enabled_changed}" CommandParameter="{Binding Path=display_settings.vsync_enabled}" Margin="0,0,0,10"/>
</Grid>
</Grid>
</noesis:LayoutScaler>
</Page>
|
|---|