View Issue Details

IDProjectCategoryView StatusLast Update
0002106NoesisGUIUnity3Dpublic2021-11-03 12:45
Reporterstonstad Assigned Tosfernandez  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.0.12 
Target Version3.1.2Fixed in Version3.1.2 
Summary0002106: TabControl: [noesis] Visual is null
DescriptionI upgraded to Noeiss 3.0.12 form 3.0.4. When I click on a tab control header I receive the error, "[Noesis] Visual is null".

[noesis] Visual is null
UnityEngine.Debug:LogError (object)
NoesisUnity:UnityLog (int,string) (at Assets/NoesisGUI/Plugins/NoesisUnity.cs:148)
Noesis.View:MouseButtonDown (int,int,Noesis.MouseButton) (at Assets/NoesisGUI/Plugins/API/Core/View.cs:186)
NoesisView:ProcessEvent (UnityEngine.Event,bool,bool) (at Assets/NoesisGUI/Plugins/NoesisView.cs:1103)
NoesisView:OnGUI () (at Assets/NoesisGUI/Plugins/NoesisView.cs:1225)

I'm not hooking tab control buttons or events. If the error message reported the parent, or more descriptive detail I could likely dig deeper.
TagsNo tags attached.
PlatformAny

Activities

stonstad

stonstad

2021-09-08 18:46

reporter  

01.PNG (57,462 bytes)   
01.PNG (57,462 bytes)   
02.PNG (1,985,732 bytes)
SettingsControl.xaml (45,806 bytes)   
<UserControl
    x:Class="StellarConquest.Presentation.Unity.UI.SettingsControl"
    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" mc:Ignorable="d"
    xmlns:local="clr-namespace:StellarConquest.Presentation.Unity.UI"
    >
    <UserControl.Resources>
        <Style x:Name="ToggleButtonStyle" TargetType="{x:Type ToggleButton}" BasedOn="{StaticResource {x:Type ToggleButton}}">
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="Margin" Value="0, 0, 5, 0"/>
            <Setter Property="MinWidth" Value="75"/>
            <Setter Property="Padding" Value="6"/>
        </Style>
    </UserControl.Resources>
    <Grid x:Name="_LayoutRoot">
        <Grid.RowDefinitions>
            <RowDefinition Height="1*"/>
            <RowDefinition Height="8*"/>
            <RowDefinition Height="1*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*"/>
            <ColumnDefinition Width="8*"/>
            <ColumnDefinition Width="1*"/>
        </Grid.ColumnDefinitions>

        <Grid Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Width="700" Height="700">
            <local:BorderControl Title="Settings"/>
            <Grid Margin="30, 35, 30, 30">
                <TabControl>
                    <TabControl.Background>
                        <SolidColorBrush Color="#99444444"/>
                    </TabControl.Background>
                    <TabControl.BorderBrush>
                        <SolidColorBrush Color="#80404040"/>
                    </TabControl.BorderBrush>
                    <TabItem>
                        <TabItem.Header>
                            <TextBlock Style="{StaticResource Heading3Primary}" Text="Gameplay" Margin="5"/>
                        </TabItem.Header>
                        <StackPanel Orientation="Vertical" Margin="10, 10, 10, 10">
                            <TextBlock Style="{StaticResource Heading3Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="Notifications"/>
                            <Rectangle Height="1" Fill="{StaticResource DividerGradientBrush2}" HorizontalAlignment="Stretch" Margin="0, 0, 25, 12"/>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12">
                                <CheckBox x:Name="_WarnSafeParkingEnabled" Margin="0, 0, 5, 0" VerticalAlignment="Center">
                                    <CheckBox.LayoutTransform>
                                        <ScaleTransform ScaleX="1.5" ScaleY="1.5"/>
                                    </CheckBox.LayoutTransform>
                                </CheckBox>
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="Warn if Parking Unsafe"/>
                            </StackPanel>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12">
                                <CheckBox x:Name="_WarnEvilEnabled" Margin="0, 0, 5, 0" VerticalAlignment="Center">
                                    <CheckBox.LayoutTransform>
                                        <ScaleTransform ScaleX="1.5" ScaleY="1.5"/>
                                    </CheckBox.LayoutTransform>
                                </CheckBox>
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="Warn if Committing Evil"/>
                            </StackPanel>

                            <StackPanel Height="10"/>
                            <TextBlock Style="{StaticResource Heading3Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="User Interface"/>
                            <Rectangle Height="1" Fill="{StaticResource DividerGradientBrush2}" HorizontalAlignment="Stretch" Margin="0, 0, 25, 12"/>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12">
                                <CheckBox x:Name="_HideGameMenuEnabled" Margin="0, 0, 5, 0" VerticalAlignment="Center">
                                    <CheckBox.LayoutTransform>
                                        <ScaleTransform ScaleX="1.5" ScaleY="1.5"/>
                                    </CheckBox.LayoutTransform>
                                </CheckBox>
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="Hide Game Menu"/>
                            </StackPanel>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12">
                                <CheckBox x:Name="_TargetingEnabled" Margin="0, 0, 5, 0" VerticalAlignment="Center">
                                    <CheckBox.LayoutTransform>
                                        <ScaleTransform ScaleX="1.5" ScaleY="1.5"/>
                                    </CheckBox.LayoutTransform>
                                </CheckBox>
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="Show Targeting"/>
                            </StackPanel>

                        </StackPanel>
                    </TabItem>
                    <TabItem>
                        <TabItem.Header>
                            <TextBlock Style="{StaticResource Heading3Primary}" Text="Input" Margin="5"/>
                        </TabItem.Header>
                        <ScrollViewer Margin="10, 10, 5, 10">
                            <StackPanel>
                                <Grid>
                                    <TextBlock Style="{StaticResource Heading3Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="Global"/>
                                    <Grid>
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="200"/>
                                            <ColumnDefinition Width="140"/>
                                            <ColumnDefinition Width="140"/>
                                            <ColumnDefinition Width="140"/>
                                        </Grid.ColumnDefinitions>
                                        <TextBlock Grid.Row="0" Grid.Column="1" Style="{StaticResource FontAwesomeInput}" Text="&#xf11c;" Margin="0, 0, 0, 8"/>
                                        <TextBlock Grid.Row="0" Grid.Column="2" Style="{StaticResource FontAwesomeInput}" Text="&#xf8cc;" Margin="0, 0, 0, 8"/>
                                        <TextBlock Grid.Row="0" Grid.Column="3" Style="{StaticResource FontAwesomeInput}" Text="&#xf11b;" Margin="0, 0, 0, 8"/>
                                    </Grid>
                                </Grid>
                                <Rectangle Height="1" Fill="{StaticResource DividerGradientBrush2}" HorizontalAlignment="Stretch" Margin="0, 0, 25, 12"/>

                                <Grid Margin="0, 0, 0, 20">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="200"/>
                                        <ColumnDefinition Width="140"/>
                                        <ColumnDefinition Width="140"/>
                                        <ColumnDefinition Width="140"/>
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                    </Grid.RowDefinitions>

                                    <TextBlock Grid.Row="0" Grid.Column="0" Style="{StaticResource Heading4Primary}">Menu</TextBlock>
                                    <TextBlock Grid.Row="0" Grid.Column="1" Style="{StaticResource Heading4Secondary}">Backspace</TextBlock>
                                    <TextBlock Grid.Row="0" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="0" Grid.Column="3" Style="{StaticResource XboxInput}">n</TextBlock>

                                    <TextBlock Grid.Row="1" Grid.Column="0" Style="{StaticResource Heading4Primary}">Settings</TextBlock>
                                    <TextBlock Grid.Row="1" Grid.Column="1" Style="{StaticResource Heading4Secondary}">F1</TextBlock>
                                    <TextBlock Grid.Row="1" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="1" Grid.Column="3" Style="{StaticResource XboxInput}"></TextBlock>

                                    <TextBlock Grid.Row="2" Grid.Column="0" Style="{StaticResource Heading4Primary}">Chat</TextBlock>
                                    <TextBlock Grid.Row="2" Grid.Column="1" Style="{StaticResource Heading4Secondary}">Tab</TextBlock>
                                    <TextBlock Grid.Row="2" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="2" Grid.Column="3" Style="{StaticResource XboxInput}">o</TextBlock>

                                    <TextBlock Grid.Row="3" Grid.Column="0" Style="{StaticResource Heading4Primary}">Cycle Screen</TextBlock>
                                    <TextBlock Grid.Row="3" Grid.Column="1" Style="{StaticResource Heading4Secondary}">PgUp/PgDn</TextBlock>
                                    <TextBlock Grid.Row="3" Grid.Column="2" Style="{StaticResource Heading4Secondary}">Wheel</TextBlock>
                                    <TextBlock Grid.Row="3" Grid.Column="3" Style="{StaticResource XboxInput}">f z</TextBlock>

                                    <TextBlock Grid.Row="4" Grid.Column="0" Style="{StaticResource Heading4Primary}">Dismiss Screen</TextBlock>
                                    <TextBlock Grid.Row="4" Grid.Column="1" Style="{StaticResource Heading4Secondary}">Esc</TextBlock>
                                    <TextBlock Grid.Row="4" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="4" Grid.Column="3" Style="{StaticResource XboxInput}">r</TextBlock>
                                </Grid>

                                <StackPanel Height="10"/>
                                <TextBlock Style="{StaticResource Heading3Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="Exploration"/>
                                <Rectangle Height="1" Fill="{StaticResource DividerGradientBrush2}" HorizontalAlignment="Stretch" Margin="0, 0, 25, 12"/>

                                <Grid Margin="0, 0, 0, 12">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="200"/>
                                        <ColumnDefinition Width="140"/>
                                        <ColumnDefinition Width="140"/>
                                        <ColumnDefinition Width="140"/>
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                    </Grid.RowDefinitions>

                                    <TextBlock Grid.Row="0" Grid.Column="0" Style="{StaticResource Heading4Primary}">Cursor</TextBlock>
                                    <TextBlock Grid.Row="0" Grid.Column="1" Style="{StaticResource Heading4Secondary}">Enter</TextBlock>
                                    <TextBlock Grid.Row="0" Grid.Column="2" Style="{StaticResource Heading4Secondary}">RButton</TextBlock>
                                    <TextBlock Grid.Row="0" Grid.Column="3" Style="{StaticResource XboxInput}">x</TextBlock>

                                    <TextBlock Grid.Row="1" Grid.Column="0" Style="{StaticResource Heading4Primary}">Move</TextBlock>
                                    <TextBlock Grid.Row="1" Grid.Column="1" Style="{StaticResource Heading4Secondary}">W A S D</TextBlock>
                                    <TextBlock Grid.Row="1" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="1" Grid.Column="3" Style="{StaticResource XboxInput}">g</TextBlock>

                                    <TextBlock Grid.Row="2" Grid.Column="0" Style="{StaticResource Heading4Primary}">Interact</TextBlock>
                                    <TextBlock Grid.Row="2" Grid.Column="1" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="2" Grid.Column="2" Style="{StaticResource Heading4Secondary}">LButton</TextBlock>
                                    <TextBlock Grid.Row="2" Grid.Column="3" Style="{StaticResource XboxInput}">r</TextBlock>

                                    <TextBlock Grid.Row="3" Grid.Column="0" Style="{StaticResource Heading4Primary}">Jump</TextBlock>
                                    <TextBlock Grid.Row="3" Grid.Column="1" Style="{StaticResource Heading4Secondary}">Space</TextBlock>
                                    <TextBlock Grid.Row="3" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="3" Grid.Column="3" Style="{StaticResource XboxInput}">w</TextBlock>

                                    <TextBlock Grid.Row="4" Grid.Column="0" Style="{StaticResource Heading4Primary}">Crouch</TextBlock>
                                    <TextBlock Grid.Row="4" Grid.Column="1" Style="{StaticResource Heading4Secondary}">C</TextBlock>
                                    <TextBlock Grid.Row="4" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="4" Grid.Column="3" Style="{StaticResource XboxInput}">g</TextBlock>

                                    <TextBlock Grid.Row="5" Grid.Column="0" Style="{StaticResource Heading4Primary}">Run</TextBlock>
                                    <TextBlock Grid.Row="5" Grid.Column="1" Style="{StaticResource Heading4Secondary}">LShift</TextBlock>
                                    <TextBlock Grid.Row="5" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="5" Grid.Column="3" Style="{StaticResource XboxInput}">y</TextBlock>

                                    <TextBlock Grid.Row="6" Grid.Column="0" Style="{StaticResource Heading4Primary}">Slow</TextBlock>
                                    <TextBlock Grid.Row="6" Grid.Column="1" Style="{StaticResource Heading4Secondary}">LControl</TextBlock>
                                    <TextBlock Grid.Row="6" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="6" Grid.Column="3" Style="{StaticResource XboxInput}"></TextBlock>
                                </Grid>

                                <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12">
                                    <CheckBox x:Name="_CharacterInvertUpEnabled" Margin="0, 0, 5, 0" VerticalAlignment="Center">
                                        <CheckBox.LayoutTransform>
                                            <ScaleTransform ScaleX="1.5" ScaleY="1.5"/>
                                        </CheckBox.LayoutTransform>
                                    </CheckBox>
                                    <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="Invert Up"/>
                                </StackPanel>

                                <StackPanel Height="10"/>
                                <TextBlock Style="{StaticResource Heading3Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="Construction"/>
                                <Rectangle Height="1" Fill="{StaticResource DividerGradientBrush2}" HorizontalAlignment="Stretch" Margin="0, 0, 25, 12"/>

                                <Grid Margin="0, 0, 0, 12">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="200"/>
                                        <ColumnDefinition Width="140"/>
                                        <ColumnDefinition Width="140"/>
                                        <ColumnDefinition Width="140"/>
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                    </Grid.RowDefinitions>

                                    <TextBlock Grid.Row="0" Grid.Column="0" Style="{StaticResource Heading4Primary}">Toggle Mode</TextBlock>
                                    <TextBlock Grid.Row="0" Grid.Column="1" Style="{StaticResource Heading4Secondary}">Enter</TextBlock>
                                    <TextBlock Grid.Row="0" Grid.Column="2" Style="{StaticResource Heading4Secondary}">Right Button</TextBlock>
                                    <TextBlock Grid.Row="0" Grid.Column="3" Style="{StaticResource XboxInput}">x</TextBlock>

                                    <TextBlock Grid.Row="1" Grid.Column="0" Style="{StaticResource Heading4Primary}">Build - Place</TextBlock>
                                    <TextBlock Grid.Row="1" Grid.Column="1" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="1" Grid.Column="2" Style="{StaticResource Heading4Secondary}">LButton</TextBlock>
                                    <TextBlock Grid.Row="1" Grid.Column="3" Style="{StaticResource XboxInput}">r</TextBlock>

                                    <TextBlock Grid.Row="2" Grid.Column="0" Style="{StaticResource Heading4Primary}">Build - Cancel</TextBlock>
                                    <TextBlock Grid.Row="2" Grid.Column="1" Style="{StaticResource Heading4Secondary}">Escape</TextBlock>
                                    <TextBlock Grid.Row="2" Grid.Column="2" Style="{StaticResource Heading4Secondary}">RButton</TextBlock>
                                    <TextBlock Grid.Row="2" Grid.Column="3" Style="{StaticResource XboxInput}"></TextBlock>
                                </Grid>

                                <StackPanel Height="10"/>
                                <TextBlock x:Name="_CockpitHeadingTextBlock" Style="{StaticResource Heading3Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="Cockpit"/>
                                <Rectangle Height="1" Fill="{StaticResource DividerGradientBrush2}" HorizontalAlignment="Stretch" Margin="0, 0, 25, 12"/>

                                <Grid Margin="0, 0, 0, 12">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="200"/>
                                        <ColumnDefinition Width="140"/>
                                        <ColumnDefinition Width="140"/>
                                        <ColumnDefinition Width="140"/>
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                    </Grid.RowDefinitions>

                                    <TextBlock Grid.Row="0" Grid.Column="0" Style="{StaticResource Heading4Primary}">Switch Mode</TextBlock>
                                    <TextBlock Grid.Row="0" Grid.Column="1" Style="{StaticResource Heading4Secondary}">Enter</TextBlock>
                                    <TextBlock Grid.Row="0" Grid.Column="2" Style="{StaticResource Heading4Secondary}">RButton</TextBlock>
                                    <TextBlock Grid.Row="0" Grid.Column="3" Style="{StaticResource XboxInput}">x</TextBlock>

                                    <TextBlock Grid.Row="1" Grid.Column="0" Style="{StaticResource Heading4Primary}">Yaw/Pitch</TextBlock>
                                    <TextBlock Grid.Row="1" Grid.Column="1" Style="{StaticResource Heading4Secondary}">W A S D</TextBlock>
                                    <TextBlock Grid.Row="1" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="1" Grid.Column="3" Style="{StaticResource XboxInput}">g</TextBlock>

                                    <TextBlock Grid.Row="2" Grid.Column="0" Style="{StaticResource Heading4Primary}">Roll</TextBlock>
                                    <TextBlock Grid.Row="2" Grid.Column="1" Style="{StaticResource Heading4Secondary}">Q E</TextBlock>
                                    <TextBlock Grid.Row="2" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="2" Grid.Column="3" Style="{StaticResource XboxInput}">j v</TextBlock>

                                    <TextBlock Grid.Row="3" Grid.Column="0" Style="{StaticResource Heading4Primary}">Repulsor L/R</TextBlock>
                                    <TextBlock Grid.Row="3" Grid.Column="1" Style="{StaticResource Heading4Secondary}">J L</TextBlock>
                                    <TextBlock Grid.Row="3" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="3" Grid.Column="3" Style="{StaticResource XboxInput}">p a</TextBlock>

                                    <TextBlock Grid.Row="4" Grid.Column="0" Style="{StaticResource Heading4Primary}">Repulsor Up/Dn</TextBlock>
                                    <TextBlock Grid.Row="4" Grid.Column="1" Style="{StaticResource Heading4Secondary}">I K</TextBlock>
                                    <TextBlock Grid.Row="4" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="4" Grid.Column="3" Style="{StaticResource XboxInput}">s o</TextBlock>

                                    <TextBlock Grid.Row="5" Grid.Column="0" Style="{StaticResource Heading4Primary}">Look</TextBlock>
                                    <TextBlock Grid.Row="5" Grid.Column="1" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="5" Grid.Column="2" Style="{StaticResource Heading4Secondary}">RButton</TextBlock>
                                    <TextBlock Grid.Row="5" Grid.Column="3" Style="{StaticResource XboxInput}">x</TextBlock>

                                    <TextBlock Grid.Row="6" Grid.Column="0" Style="{StaticResource Heading4Primary}">Throttle</TextBlock>
                                    <TextBlock Grid.Row="6" Grid.Column="1" Style="{StaticResource Heading4Secondary}">Space</TextBlock>
                                    <TextBlock Grid.Row="6" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="6" Grid.Column="3" Style="{StaticResource XboxInput}">w</TextBlock>

                                    <TextBlock Grid.Row="7" Grid.Column="0" Style="{StaticResource Heading4Primary}">Afterburner</TextBlock>
                                    <TextBlock Grid.Row="7" Grid.Column="1" Style="{StaticResource Heading4Secondary}">Space (2x)</TextBlock>
                                    <TextBlock Grid.Row="7" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="7" Grid.Column="3" Style="{StaticResource XboxInput}">ww</TextBlock>

                                    <TextBlock Grid.Row="8" Grid.Column="0" Style="{StaticResource Heading4Primary}">Reverse</TextBlock>
                                    <TextBlock Grid.Row="8" Grid.Column="1" Style="{StaticResource Heading4Secondary}">LControl</TextBlock>
                                    <TextBlock Grid.Row="8" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="8" Grid.Column="3" Style="{StaticResource XboxInput}">wr</TextBlock>

                                    <TextBlock Grid.Row="9" Grid.Column="0" Style="{StaticResource Heading4Primary}">Use Weapon</TextBlock>
                                    <TextBlock Grid.Row="9" Grid.Column="1" Style="{StaticResource Heading4Secondary}">V</TextBlock>
                                    <TextBlock Grid.Row="9" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="9" Grid.Column="3" Style="{StaticResource XboxInput}">y</TextBlock>

                                    <TextBlock Grid.Row="10" Grid.Column="0" Style="{StaticResource Heading4Primary}">Cycle Weapon</TextBlock>
                                    <TextBlock Grid.Row="10" Grid.Column="1" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="10" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="10" Grid.Column="3" Style="{StaticResource XboxInput}">y</TextBlock>

                                    <TextBlock Grid.Row="11" Grid.Column="0" Style="{StaticResource Heading4Primary}">Cycle Target</TextBlock>
                                    <TextBlock Grid.Row="11" Grid.Column="1" Style="{StaticResource Heading4Secondary}">Home End</TextBlock>
                                    <TextBlock Grid.Row="11" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="11" Grid.Column="3" Style="{StaticResource XboxInput}">d</TextBlock>

                                    <TextBlock Grid.Row="12" Grid.Column="0" Style="{StaticResource Heading4Primary}">Show/Hide</TextBlock>
                                    <TextBlock Grid.Row="12" Grid.Column="1" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="12" Grid.Column="2" Style="{StaticResource Heading4Secondary}"></TextBlock>
                                    <TextBlock Grid.Row="12" Grid.Column="3" Style="{StaticResource XboxInput}">r</TextBlock>
                                </Grid>

                                <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12">
                                    <CheckBox x:Name="_ShipInvertUpEnabled" Margin="0, 0, 5, 0" VerticalAlignment="Center">
                                        <CheckBox.LayoutTransform>
                                            <ScaleTransform ScaleX="1.5" ScaleY="1.5"/>
                                        </CheckBox.LayoutTransform>
                                    </CheckBox>
                                    <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="Invert Up"/>
                                </StackPanel>

                            </StackPanel>

                        </ScrollViewer>
                    </TabItem>
                    <TabItem>
                        <TabItem.Header>
                            <TextBlock Style="{StaticResource Heading3Primary}" Text="Video" Margin="5"/>
                        </TabItem.Header>
                        <StackPanel Orientation="Vertical" Margin="10, 10, 10, 8">

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="160" Margin="0, 0, 5, 0" Text="Window Mode"/>
                                <ComboBox x:Name="_WindowMode">
                                    <ComboBoxItem>Exclusive Full Screen</ComboBoxItem>
                                    <ComboBoxItem>Full Screen Window</ComboBoxItem>
                                    <ComboBoxItem>Maximized Window</ComboBoxItem>
                                    <ComboBoxItem>Windowed</ComboBoxItem>
                                </ComboBox>
                            </StackPanel>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="160" Margin="0, 0, 5, 0" Text="Display Resolution"/>
                                <ComboBox x:Name="_DisplayResolution"/>
                            </StackPanel>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12" Visibility="Collapsed">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="160" Margin="0, 0, 5, 0" Text="Frame Rate Limit"/>
                                <ComboBox x:Name="_FrameRateLimit">
                                    <ComboBoxItem>60 FPS</ComboBoxItem>
                                    <ComboBoxItem>120 FPS</ComboBoxItem>
                                    <ComboBoxItem>Unlimited</ComboBoxItem>
                                </ComboBox>
                            </StackPanel>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="160" Margin="0, 0, 5, 0" Text="VSync"/>
                                <ComboBox x:Name="_VSync">
                                    <ComboBoxItem>Off</ComboBoxItem>
                                    <ComboBoxItem>On</ComboBoxItem>
                                </ComboBox>
                            </StackPanel>

                            <Rectangle Height="1" Fill="{StaticResource DividerGradientBrush}" HorizontalAlignment="Stretch" Margin="15, 0, 20, 15"/>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12" VerticalAlignment="Center">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="160" Margin="0, 0, 5, 0" Text="Quality"/>
                                <ToggleButton x:Name="_QualityLow" Style="{StaticResource ToggleButtonStyle}" Content="Low"/>
                                <ToggleButton x:Name="_QualityMedium" Style="{StaticResource ToggleButtonStyle}" Content="Medium"/>
                                <ToggleButton x:Name="_QualityHigh" Style="{StaticResource ToggleButtonStyle}" Content="High"/>
                                <ToggleButton x:Name="_QualityEpic" Style="{StaticResource ToggleButtonStyle}" Content="Epic"/>
                                <ToggleButton x:Name="_QualityAuto" Style="{StaticResource ToggleButtonStyle}" Content="Auto"/>
                            </StackPanel>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12" VerticalAlignment="Center">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="145" Margin="15, 0, 5, 0" Text="View Distance"/>
                                <ToggleButton x:Name="_ViewNear" Style="{StaticResource ToggleButtonStyle}" Content="Near"/>
                                <ToggleButton x:Name="_ViewMedium" Style="{StaticResource ToggleButtonStyle}" Content="Medium"/>
                                <ToggleButton x:Name="_ViewFar" Style="{StaticResource ToggleButtonStyle}" Content="Far"/>
                                <ToggleButton x:Name="_ViewEpic" Style="{StaticResource ToggleButtonStyle}" Content="Epic"/>
                            </StackPanel>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12" VerticalAlignment="Center">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="145" Margin="15, 0, 5, 0" Text="Shadow Quality"/>
                                <ToggleButton x:Name="_ShadowsOff" Style="{StaticResource ToggleButtonStyle}" Content="Off"/>
                                <ToggleButton x:Name="_ShadowsMedium" Style="{StaticResource ToggleButtonStyle}" Content="Medium"/>
                                <ToggleButton x:Name="_ShadowsHigh" Style="{StaticResource ToggleButtonStyle}" Content="High"/>
                                <ToggleButton x:Name="_ShadowsEpic" Style="{StaticResource ToggleButtonStyle}" Content="Epic"/>
                            </StackPanel>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12" VerticalAlignment="Center">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="145" Margin="15, 0, 5, 0" Text="Shadow Distance"/>
                                <ToggleButton x:Name="_ShadowDistanceNear" Style="{StaticResource ToggleButtonStyle}" Content="Near"/>
                                <ToggleButton x:Name="_ShadowDistanceMedium" Style="{StaticResource ToggleButtonStyle}" Content="Medium"/>
                                <ToggleButton x:Name="_ShadowDistanceFar" Style="{StaticResource ToggleButtonStyle}" Content="Far"/>
                                <ToggleButton x:Name="_ShadowDistanceEpic" Style="{StaticResource ToggleButtonStyle}" Content="Epic"/>
                            </StackPanel>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12" VerticalAlignment="Center">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="145" Margin="15, 0, 5, 0" Text="Textures"/>
                                <ToggleButton x:Name="_TexturesLow" Style="{StaticResource ToggleButtonStyle}" Content="Low"/>
                                <ToggleButton x:Name="_TexturesMedium" Style="{StaticResource ToggleButtonStyle}" Content="Medium"/>
                                <ToggleButton x:Name="_TexturesHigh" Style="{StaticResource ToggleButtonStyle}" Content="High"/>
                                <ToggleButton x:Name="_TexturesEpic" Style="{StaticResource ToggleButtonStyle}" Content="Epic"/>
                            </StackPanel>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12" VerticalAlignment="Center">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="145" Margin="15, 0, 5, 0" Text="Reflections"/>
                                <ToggleButton x:Name="_ReflectionsOff" Style="{StaticResource ToggleButtonStyle}" Content="Off"/>
                                <ToggleButton x:Name="_ReflectionsMedium" Style="{StaticResource ToggleButtonStyle}" Content="Medium"/>
                                <ToggleButton x:Name="_ReflectionsHigh" Style="{StaticResource ToggleButtonStyle}" Content="High"/>
                                <ToggleButton x:Name="_ReflectionsEpic" Style="{StaticResource ToggleButtonStyle}" Content="Epic"/>
                            </StackPanel>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12" VerticalAlignment="Center">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="145" Margin="15, 0, 5, 0" Text="Post Processing"/>
                                <ToggleButton x:Name="_PostProcessingLow" Style="{StaticResource ToggleButtonStyle}" Content="Low"/>
                                <ToggleButton x:Name="_PostProcessingMedium" Style="{StaticResource ToggleButtonStyle}" Content="Medium"/>
                                <ToggleButton x:Name="_PostProcessingHigh" Style="{StaticResource ToggleButtonStyle}" Content="High"/>
                                <ToggleButton x:Name="_PostProcessingEpic" Style="{StaticResource ToggleButtonStyle}" Content="Epic"/>
                            </StackPanel>

                            <Rectangle Height="1" Fill="{StaticResource DividerGradientBrush}" HorizontalAlignment="Stretch" Margin="15, 0, 20, 15"/>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, 12" VerticalAlignment="Center">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="160" Margin="0, 0, 5, 0" Text="User Interface"/>
                                <ToggleButton x:Name="_UISmallest" Style="{StaticResource ToggleButtonStyle}" Content="Smallest"/>
                                <ToggleButton x:Name="_UISmaller" Style="{StaticResource ToggleButtonStyle}" Content="Smaller"/>
                                <ToggleButton x:Name="_UINormal" Style="{StaticResource ToggleButtonStyle}" Content="Normal"/>
                                <ToggleButton x:Name="_UILarger" Style="{StaticResource ToggleButtonStyle}" Content="Larger"/>
                                <ToggleButton x:Name="_UILargest" Style="{StaticResource ToggleButtonStyle}" Content="Largest"/>
                            </StackPanel>

                            <StackPanel Orientation="Horizontal" Margin="0, 0, 0, -5">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="160" Margin="0, 0, 5, 0" Text="Motion Blur"/>
                                <ComboBox x:Name="_MotionBlur">
                                    <ComboBoxItem>Off</ComboBoxItem>
                                    <ComboBoxItem>On</ComboBoxItem>
                                </ComboBox>
                            </StackPanel>

                        </StackPanel>
                    </TabItem>
                    <TabItem>
                        <TabItem.Header>
                            <TextBlock Style="{StaticResource Heading3Primary}" Text="Audio" Margin="5"/>
                        </TabItem.Header>
                        <StackPanel Orientation="Vertical" Margin="10, 10, 10, 10">
                            <TextBlock Style="{StaticResource Heading3Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="Master"/>
                            <Rectangle Height="1" Fill="{StaticResource DividerGradientBrush2}" HorizontalAlignment="Stretch" Margin="0, 0, 25, 20"/>

                            <StackPanel Orientation="Vertical" Margin="5, 0, 0, 12">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Left" Margin="0, 0, 0, 0" Text="Volume"/>
                                <StackPanel Orientation="Horizontal" Margin="0, 0, 10, 0">
                                    <StackPanel.LayoutTransform>
                                        <ScaleTransform ScaleX="1.5" ScaleY="1.5"/>
                                    </StackPanel.LayoutTransform>
                                    <CheckBox x:Name="_MasterVolumeEnabled" Margin="0, 0, 5, 0" VerticalAlignment="Center"/>
                                    <Slider x:Name="_MasterVolumeSlider" Minimum="0" Maximum="100" TickFrequency="1" IsSnapToTickEnabled="False" Width="325"  HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0, 0, -10, 0"/>
                                </StackPanel>
                            </StackPanel>

                            <StackPanel Height="30"/>
                            <TextBlock Style="{StaticResource Heading3Primary}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0, 0, 0, 0" Text="Mixer"/>
                            <Rectangle Height="1" Fill="{StaticResource DividerGradientBrush2}" HorizontalAlignment="Stretch" Margin="0, 0, 25, 20"/>

                            <StackPanel Orientation="Vertical" Margin="5, 0, 0, 12">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Left" Margin="0, 0, 0, 0" Text="Music"/>
                                <StackPanel Orientation="Horizontal" Margin="0, 0, 10, 0">
                                    <StackPanel.LayoutTransform>
                                        <ScaleTransform ScaleX="1.5" ScaleY="1.5"/>
                                    </StackPanel.LayoutTransform>
                                    <CheckBox x:Name="_MusicVolumeEnabled" Margin="0, 0, 5, 0" VerticalAlignment="Center"/>
                                    <Slider x:Name="_MusicVolumeSlider" Minimum="0" Maximum="100" TickFrequency="1" IsSnapToTickEnabled="False" Width="325"  HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0, 0, -10, 0"/>
                                </StackPanel>
                            </StackPanel>

                            <StackPanel Orientation="Vertical" Margin="5, 0, 0, 12">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Left" Margin="0, 0, 0, 0" Text="Effects"/>
                                <StackPanel Orientation="Horizontal" Margin="0, 0, 10, 0">
                                    <StackPanel.LayoutTransform>
                                        <ScaleTransform ScaleX="1.5" ScaleY="1.5"/>
                                    </StackPanel.LayoutTransform>
                                    <CheckBox x:Name="_EffectsVolumeEnabled" Margin="0, 0, 5, 0" VerticalAlignment="Center"/>
                                    <Slider x:Name="_EffectsVolumeSlider" Minimum="0" Maximum="100" TickFrequency="1" IsSnapToTickEnabled="False" Width="325" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0, 0, -10, 0"/>
                                </StackPanel>
                            </StackPanel>

                            <StackPanel Orientation="Vertical" Margin="5, 0, 0, 12">
                                <TextBlock Style="{StaticResource Heading4Primary}" HorizontalAlignment="Left" Margin="0, 0, 0, 0" Text="Ambient"/>
                                <StackPanel Orientation="Horizontal" Margin="0, 0, 10, 0">
                                    <StackPanel.LayoutTransform>
                                        <ScaleTransform ScaleX="1.5" ScaleY="1.5"/>
                                    </StackPanel.LayoutTransform>

                                    <CheckBox x:Name="_AmbientVolumeEnabled" Margin="0, 0, 5, 0" VerticalAlignment="Center"/>
                                    <Slider x:Name="_AmbientVolumeSlider" Minimum="0" Maximum="100" TickFrequency="1" IsSnapToTickEnabled="False" Width="325"  HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0, 0, -10, 0"/>
                                </StackPanel>
                            </StackPanel>

                        </StackPanel>
                    </TabItem>
                </TabControl>
            </Grid>
        </Grid>
    </Grid>
</UserControl>
SettingsControl.xaml (45,806 bytes)   
sfernandez

sfernandez

2021-09-08 20:28

manager   ~0007425

Are you using our Theme styles for the TabControl/TabItem or do you have your own? Could you share the styles if they are diffferent?
stonstad

stonstad

2021-09-08 20:53

reporter   ~0007426

Here is the XAML I use for defining custom themes. I'm not seeing anything to override TabControl, but I acknowledge I am not super savvy at XAML.
ResourcesTheme.xaml (50,885 bytes)   
<ResourceDictionary
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:noesis="clr-namespace:NoesisGUIExtensions">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="ResourcesImages.xaml"/>
        <ResourceDictionary Source="ResourcesCommon.xaml"/>
    </ResourceDictionary.MergedDictionaries>

    <!-- Screen -->
    <Style x:Key="Screen" TargetType="{x:Type Grid}">
        <Setter Property="Margin" Value="20, 105, 20, 20"/>
    </Style>

    <!-- Button Template -->
    <ControlTemplate x:Key="ButtonTemplate" TargetType="{x:Type ButtonBase}">
        <Grid>
            <Grid Background="{TemplateBinding Background}">
                <ContentPresenter Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
            </Grid>
            <Border x:Name="Bg" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0"/>
        </Grid>

        <ControlTemplate.Triggers>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="False"/>
                    <Condition Property="IsFocused" Value="False"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter Property="BorderBrush" Value="{DynamicResource Brush.Border.Normal}"/>
                    <Setter Property="Background" Value="{DynamicResource Brush.Background.Normal}"/>
                    <Setter Property="Foreground" Value="{StaticResource HeadingPrimaryFontBrush}"/>
                    <Setter Property="BorderThickness" Value="1"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="True"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter Property="BorderBrush" Value="{DynamicResource Brush.Border.Over}"/>
                    <Setter Property="Background" Value="{DynamicResource Brush.Background.Over}"/>
                    <Setter Property="Foreground" Value="{StaticResource HeadingPrimaryFontBrush}"/>
                    <Setter Property="BorderThickness" Value="1"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="False"/>
                    <Condition Property="IsFocused" Value="True"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter Property="BorderBrush" Value="{DynamicResource Brush.Border.Focus}"/>
                    <Setter Property="Background" Value="{DynamicResource Brush.Background.Over}"/>
                    <Setter Property="Foreground" Value="{StaticResource HeadingPrimaryFontBrush}"/>
                    <Setter Property="BorderThickness" Value="2"/>
                </MultiTrigger.Setters>
                <MultiTrigger.EnterActions>
                    <BeginStoryboard x:Name="PART_Focus_Storyboard">
                        <Storyboard>
                            <DoubleAnimation Storyboard.TargetName="Bg" Storyboard.TargetProperty="(Border.Opacity)" From="1.0" To="0.4" Duration="0:0:0.5" RepeatBehavior="Forever" AutoReverse="True"/>
                        </Storyboard>
                    </BeginStoryboard>
                </MultiTrigger.EnterActions>
                <MultiTrigger.ExitActions>
                    <StopStoryboard BeginStoryboardName="PART_Focus_Storyboard"/>
                </MultiTrigger.ExitActions>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsPressed" Value="True"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter Property="BorderBrush" Value="{DynamicResource Brush.Border.Pressed}"/>
                    <Setter Property="Background" Value="{DynamicResource Brush.Background.Pressed}"/>
                    <Setter Property="Foreground" Value="{StaticResource HeadingPrimaryFontBrush}"/>
                    <Setter Property="BorderThickness" Value="1"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsEnabled" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter Property="Opacity" Value="0.4"/>
                    <Setter Property="BorderBrush" Value="{DynamicResource Border.Background.Disabled}"/>
                    <Setter Property="Background" Value="{DynamicResource Brush.Border.Disabled}"/>
                    <Setter Property="Foreground" Value="{DynamicResource Brush.Foreground.Disabled}"/>
                    <Setter Property="BorderThickness" Value="1"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

    <!-- Button Style -->
    <!--<Style x:Key="ButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="Padding" Value="6,4"/>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
        <Setter Property="Template" Value="{StaticResource ButtonTemplate}"/>

        <Setter Property="FontFamily" Value="{StaticResource Trebuchet MS}"/>
        <Setter Property="FontSize" Value="{StaticResource Heading4FontSize}" />
        <Setter Property="Padding" Value="8,6" />
        <Setter Property="noesis:Text.Stroke" Value="#EE000000" />
        <Setter Property="noesis:Text.StrokeThickness" Value="3" />
    </Style>-->

    <Style x:Key="ContentMenuButton" TargetType="{x:Type Button}">
        <Setter Property="Padding" Value="6,4"/>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
        <Setter Property="Template" Value="{StaticResource ButtonTemplate}"/>
        <Setter Property="FontFamily" Value="{StaticResource Trebuchet MS}"/>
        <Setter Property="FontSize" Value="{StaticResource Heading4FontSize}" />
    </Style>

    <!-- Toggle Button -->
    <!--<Style x:Key="ToggleButton" TargetType="{x:Type ToggleButton}" BasedOn="{StaticResource {x:Type ToggleButton}}">
        <Setter Property="FontFamily" Value="{StaticResource Trebuchet MS}"/>
        <Setter Property="FontSize" Value="{StaticResource Heading4FontSize}" />
        <Setter Property="Foreground" Value="{StaticResource HeadingPrimaryFontBrush}" />
        <Setter Property="Padding" Value="8,6" />
        <Setter Property="noesis:Text.Stroke" Value="#EE000000" />
        <Setter Property="noesis:Text.StrokeThickness" Value="3" />
    </Style>-->

    <!-- Standard Button -->
    <ControlTemplate x:Key="StandardButtonTemplate" TargetType="Button">
        <Grid x:Name="PART_Grid">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="35"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="35"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="70"/>
            </Grid.RowDefinitions>

            <Rectangle x:Name="PART_Image_L" Grid.Column="0" Fill="{StaticResource buttonup_l}"/>
            <Rectangle x:Name="PART_Image_M" Grid.Column="1" Fill="{StaticResource buttonup_m}"/>
            <Rectangle x:Name="PART_Image_R" Grid.Column="2" Fill="{StaticResource buttonup_r}"/>

            <ContentPresenter x:Name="PART_ContentPresenter" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="{DynamicResource _ContentPresenterMargin}" Opacity="1" RenderTransformOrigin="0.5, 0.5"/>
        </Grid>
        <ControlTemplate.Triggers>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="False"/>
                    <Condition Property="IsFocused" Value="False"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Image_L" Property="Fill" Value="{StaticResource buttonup_l}"/>
                    <Setter TargetName="PART_Image_M" Property="Fill" Value="{StaticResource buttonup_m}"/>
                    <Setter TargetName="PART_Image_R" Property="Fill" Value="{StaticResource buttonup_r}"/>
                    <Setter TargetName="PART_Image_L" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_Image_M" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_Image_R" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="0.75"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="True"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Image_L" Property="Fill" Value="{StaticResource buttonover_l}"/>
                    <Setter TargetName="PART_Image_M" Property="Fill" Value="{StaticResource buttonover_m}"/>
                    <Setter TargetName="PART_Image_R" Property="Fill" Value="{StaticResource buttonover_r}"/>
                    <Setter TargetName="PART_Image_L" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_Image_M" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_Image_R" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="1"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="False"/>
                    <Condition Property="IsFocused" Value="True"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Image_L" Property="Fill" Value="{StaticResource buttonfocused_l}"/>
                    <Setter TargetName="PART_Image_M" Property="Fill" Value="{StaticResource buttonfocused_m}"/>
                    <Setter TargetName="PART_Image_R" Property="Fill" Value="{StaticResource buttonfocused_r}"/>
                    <Setter TargetName="PART_Image_L" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_Image_M" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_Image_R" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="1"/>
                </MultiTrigger.Setters>
                <MultiTrigger.EnterActions>
                    <BeginStoryboard x:Name="PART_Focus_Storyboard">
                        <Storyboard>
                            <DoubleAnimation Storyboard.TargetName="PART_Image_L" Storyboard.TargetProperty="(Rectangle.Opacity)" From="1.0" To="0.5" Duration="0:0:0.5" RepeatBehavior="Forever" AutoReverse="True"/>
                            <DoubleAnimation Storyboard.TargetName="PART_Image_M" Storyboard.TargetProperty="(Rectangle.Opacity)" From="1.0" To="0.5" Duration="0:0:0.5" RepeatBehavior="Forever" AutoReverse="True"/>
                            <DoubleAnimation Storyboard.TargetName="PART_Image_R" Storyboard.TargetProperty="(Rectangle.Opacity)" From="1.0" To="0.5" Duration="0:0:0.5" RepeatBehavior="Forever" AutoReverse="True"/>
                        </Storyboard>
                    </BeginStoryboard>
                </MultiTrigger.EnterActions>
                <MultiTrigger.ExitActions>
                    <StopStoryboard BeginStoryboardName="PART_Focus_Storyboard"/>
                </MultiTrigger.ExitActions>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsPressed" Value="True"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Image_L" Property="Fill" Value="{StaticResource buttondown_l}"/>
                    <Setter TargetName="PART_Image_M" Property="Fill" Value="{StaticResource buttondown_m}"/>
                    <Setter TargetName="PART_Image_R" Property="Fill" Value="{StaticResource buttondown_r}"/>
                    <Setter TargetName="PART_Image_L" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_Image_M" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_Image_R" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="0.9"/>
                    <Setter TargetName="PART_ContentPresenter" Property="RenderTransform">
                        <Setter.Value>
                            <ScaleTransform ScaleX="0.95" ScaleY="0.95"/>
                        </Setter.Value>
                    </Setter>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsEnabled" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Image_L" Property="Fill" Value="{StaticResource buttondisabled_l}"/>
                    <Setter TargetName="PART_Image_M" Property="Fill" Value="{StaticResource buttondisabled_m}"/>
                    <Setter TargetName="PART_Image_R" Property="Fill" Value="{StaticResource buttondisabled_r}"/>
                    <Setter TargetName="PART_Image_L" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_Image_M" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_Image_R" Property="Opacity" Value="1"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="0.45"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

    <Style x:Key="StandardButton" TargetType="{x:Type Button}">
        <Setter Property="Template" Value="{StaticResource StandardButtonTemplate}"/>
        <Setter Property="FontFamily" Value="{StaticResource Teko}"/>
        <Setter Property="FontWeight" Value="Bold" />
        <Setter Property="FontSize" Value="30"/>
        <Setter Property="Foreground" Value="White"/>
        <Setter Property="noesis:Text.Stroke" Value="#4400ccff" />
        <Setter Property="noesis:Text.StrokeThickness" Value="2" />
    </Style>

    <!-- Image Button Templates and Styles -->
    <ControlTemplate x:Key="ImageButtonTemplate" TargetType="Button">
        <Grid x:Name="PART_Grid" RenderTransformOrigin="0.5, 0.5">
            <Rectangle x:Name="PART_Rectangle" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}"/>
        </Grid>
        <ControlTemplate.Triggers>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="False"/>
                    <Condition Property="IsFocused" Value="False"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Rectangle" Property="Fill" Value="{DynamicResource _UpImage}"/>
                    <Setter TargetName="PART_Rectangle" Property="Opacity" Value="0.5"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="True"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Rectangle" Property="Fill" Value="{DynamicResource _OverImage}"/>
                    <Setter TargetName="PART_Rectangle" Property="Opacity" Value="1"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="False"/>
                    <Condition Property="IsFocused" Value="True"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Rectangle" Property="Fill" Value="{DynamicResource _FocusedImage}"/>
                    <Setter TargetName="PART_Rectangle" Property="Opacity" Value="1"/>
                </MultiTrigger.Setters>
                <MultiTrigger.EnterActions>
                    <BeginStoryboard x:Name="PART_Focus_Storyboard">
                        <Storyboard>
                            <DoubleAnimation Storyboard.TargetName="PART_Rectangle" Storyboard.TargetProperty="(Rectangle.Opacity)" From="1.0" To="0.5" Duration="0:0:0.5" RepeatBehavior="Forever" AutoReverse="True"/>
                        </Storyboard>
                    </BeginStoryboard>
                </MultiTrigger.EnterActions>
                <MultiTrigger.ExitActions>
                    <StopStoryboard BeginStoryboardName="PART_Focus_Storyboard"/>
                </MultiTrigger.ExitActions>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsPressed" Value="True"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Rectangle" Property="Fill" Value="{DynamicResource _DownImage}"/>
                    <Setter TargetName="PART_Rectangle" Property="Opacity" Value="0.9"/>
                    <Setter TargetName="PART_Grid" Property="RenderTransform">
                        <Setter.Value>
                            <ScaleTransform ScaleX="0.95" ScaleY="0.95"/>
                        </Setter.Value>
                    </Setter>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsEnabled" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Rectangle" Property="Fill" Value="{DynamicResource _DisabledImage}"/>
                    <Setter TargetName="PART_Rectangle" Property="Opacity" Value="0.45"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>


    <Style x:Key="WebsiteButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="Width" Value="53"/>
        <Setter Property="Height" Value="53"/>
        <Style.Resources>
            <ImageBrush x:Key="_UpImage" ImageSource="Images/login/website_x2.png"/>
            <ImageBrush x:Key="_DownImage" ImageSource="Images/login/website_x2.png"/>
            <ImageBrush x:Key="_OverImage" ImageSource="Images/login/website_x2.png"/>
            <ImageBrush x:Key="_FocusedImage" ImageSource="Images/login/website_x2.png"/>
        </Style.Resources>
        <Setter Property="Template" Value="{StaticResource ImageButtonTemplate}"/>
    </Style>

    <Style x:Key="TwitterButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="Width" Value="53"/>
        <Setter Property="Height" Value="53"/>
        <Style.Resources>
            <ImageBrush x:Key="_UpImage" ImageSource="Images/login/twitter_x2.png"/>
            <ImageBrush x:Key="_DownImage" ImageSource="Images/login/twitter_x2.png"/>
            <ImageBrush x:Key="_OverImage" ImageSource="Images/login/twitter_x2.png"/>
            <ImageBrush x:Key="_FocusedImage" ImageSource="Images/login/twitter_x2.png"/>
        </Style.Resources>
        <Setter Property="Template" Value="{StaticResource ImageButtonTemplate}"/>
    </Style>

    <Style x:Key="DiscordButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="Width" Value="53"/>
        <Setter Property="Height" Value="53"/>
        <Style.Resources>
            <ImageBrush x:Key="_UpImage" ImageSource="Images/login/discord_x2.png"/>
            <ImageBrush x:Key="_DownImage" ImageSource="Images/login/discord_x2.png"/>
            <ImageBrush x:Key="_OverImage" ImageSource="Images/login/discord_x2.png"/>
            <ImageBrush x:Key="_FocusedImage" ImageSource="Images/login/discord_x2.png"/>
        </Style.Resources>
        <Setter Property="Template" Value="{StaticResource ImageButtonTemplate}"/>
    </Style>

    <Style x:Key="DownArrowButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="Width" Value="53"/>
        <Setter Property="Height" Value="53"/>
        <Style.Resources>
            <ImageBrush x:Key="_UpImage" ImageSource="Images/buttons/downarrow.png"/>
            <ImageBrush x:Key="_DownImage" ImageSource="Images/buttons/downarrow.png"/>
            <ImageBrush x:Key="_OverImage" ImageSource="Images/buttons/downarrow.png"/>
            <ImageBrush x:Key="_FocusedImage" ImageSource="Images/buttons/downarrow.png"/>
            <ImageBrush x:Key="_DisabledImage" ImageSource="Images/buttons/downarrow.png"/>
        </Style.Resources>
        <Setter Property="Template" Value="{StaticResource ImageButtonTemplate}"/>
    </Style>

    <!-- Item Template and Styles (Inventory) -->
    <ControlTemplate x:Key="ItemButtonTemplate" TargetType="Button">
        <Grid>
            <Border x:Name="PART_Background"
                        Background="{TemplateBinding Background}"
                        BorderBrush="Transparent"
                        BorderThickness="0"
                        Padding="0"
                        CornerRadius="0"
                        Margin="0, 0, 0, 0" >
                <Grid HorizontalAlignment="Center" VerticalAlignment="Center">
                    <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0"/>
                    <Rectangle x:Name="PART_DisabledRectangle" Stretch="Fill"/>
                </Grid>
            </Border>
        </Grid>
        <ControlTemplate.Triggers>
            <Trigger Property="IsMouseOver" Value="False">
                <Setter TargetName="PART_Background" Property="Background" Value="#00000000"/>
            </Trigger>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter TargetName="PART_Background" Property="Background" Value="#6694AD00"/>
            </Trigger>
            <Trigger Property="IsFocused" Value="True">
                <Setter TargetName="PART_Background" Property="Background" Value="#6694AD00"/>
            </Trigger>
            <Trigger Property="IsFocused" Value="False">
                <Setter TargetName="PART_Background" Property="Background" Value="#00000000"/>
            </Trigger>
            <Trigger Property="IsPressed" Value="True">
                <Setter TargetName="PART_Background" Property="Background" Value="#6694AD00"/>
            </Trigger>
            <Trigger Property="IsEnabled" Value="False">
                <Setter TargetName="PART_Background" Property="Background" Value="#00000000"/>
                <Setter TargetName="PART_DisabledRectangle" Property="Fill" Value="#99333333"/>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

    <!-- Build Button Primary -->
    <ControlTemplate x:Key="BuildButtonPrimaryTemplate" TargetType="Button">
        <Grid>
            <Rectangle x:Name="PART_Up" Grid.Column="0" Fill="{StaticResource BlueUp}" Visibility="Collapsed"/>
            <Rectangle x:Name="PART_Down" Grid.Column="1" Fill="{StaticResource BlueDown}" Visibility="Collapsed"/>
            <Rectangle x:Name="PART_Over" Grid.Column="2" Fill="{StaticResource BlueOver}" Visibility="Collapsed"/>
            <Rectangle x:Name="PART_Disabled" Grid.Column="2" Fill="{StaticResource BlueDisabled}" Visibility="Collapsed"/>
            <ContentPresenter x:Name="PART_ContentPresenter" HorizontalAlignment="Center" VerticalAlignment="Center" Opacity="1" RenderTransformOrigin="0.5, 0.5"/>
        </Grid>
        <ControlTemplate.Triggers>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="False"/>
                    <Condition Property="IsFocused" Value="False"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Up" Property="Visibility" Value="Visible"/>
                    <Setter TargetName="PART_Down" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Over" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Disabled" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="0.75"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="True"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Up" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Down" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Over" Property="Visibility" Value="Visible"/>
                    <Setter TargetName="PART_Disabled" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="1"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="False"/>
                    <Condition Property="IsFocused" Value="True"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Up" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Down" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Over" Property="Visibility" Value="Visible"/>
                    <Setter TargetName="PART_Disabled" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="1"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsPressed" Value="True"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Up" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Down" Property="Visibility" Value="Visible"/>
                    <Setter TargetName="PART_Over" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Disabled" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="0.9"/>
                    <Setter TargetName="PART_ContentPresenter" Property="RenderTransform">
                        <Setter.Value>
                            <ScaleTransform ScaleX="0.95" ScaleY="0.95"/>
                        </Setter.Value>
                    </Setter>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsEnabled" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Up" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Down" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Over" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Disabled" Property="Visibility" Value="Visible"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="0.45"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

    <Style x:Key="BuildButtonPrimary" TargetType="{x:Type Button}">
        <Setter Property="Template" Value="{StaticResource BuildButtonPrimaryTemplate}"/>
    </Style>

    <!-- Build Button Secondary -->
    <ControlTemplate x:Key="BuildButtonSecondaryTemplate" TargetType="Button">
        <Grid>
            <Rectangle x:Name="PART_Up" Grid.Column="0" Fill="{StaticResource GreenUp}" Visibility="Collapsed"/>
            <Rectangle x:Name="PART_Down" Grid.Column="1" Fill="{StaticResource GreenDown}" Visibility="Collapsed"/>
            <Rectangle x:Name="PART_Over" Grid.Column="2" Fill="{StaticResource GreenOver}" Visibility="Collapsed"/>
            <Rectangle x:Name="PART_Disabled" Grid.Column="2" Fill="{StaticResource GreenDisabled}" Visibility="Collapsed"/>
            <ContentPresenter x:Name="PART_ContentPresenter" HorizontalAlignment="Center" VerticalAlignment="Center" Opacity="1" RenderTransformOrigin="0.5, 0.5"/>
        </Grid>
        <ControlTemplate.Triggers>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="False"/>
                    <Condition Property="IsFocused" Value="False"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Up" Property="Visibility" Value="Visible"/>
                    <Setter TargetName="PART_Down" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Over" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Disabled" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="0.75"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="True"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Up" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Down" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Over" Property="Visibility" Value="Visible"/>
                    <Setter TargetName="PART_Disabled" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="1"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsMouseOver" Value="False"/>
                    <Condition Property="IsFocused" Value="True"/>
                    <Condition Property="IsPressed" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Up" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Down" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Over" Property="Visibility" Value="Visible"/>
                    <Setter TargetName="PART_Disabled" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="1"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsPressed" Value="True"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Up" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Down" Property="Visibility" Value="Visible"/>
                    <Setter TargetName="PART_Over" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Disabled" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="0.9"/>
                    <Setter TargetName="PART_ContentPresenter" Property="RenderTransform">
                        <Setter.Value>
                            <ScaleTransform ScaleX="0.95" ScaleY="0.95"/>
                        </Setter.Value>
                    </Setter>
                </MultiTrigger.Setters>
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsEnabled" Value="False"/>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter TargetName="PART_Up" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Down" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Over" Property="Visibility" Value="Collapsed"/>
                    <Setter TargetName="PART_Disabled" Property="Visibility" Value="Visible"/>
                    <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="0.45"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

    <Style x:Key="BuildButtonSecondary" TargetType="{x:Type Button}">
        <Setter Property="Template" Value="{StaticResource BuildButtonSecondaryTemplate}"/>
    </Style>

    <!-- Item Style -->
    <Style x:Key="ItemStyle" TargetType="{x:Type Button}">
        <!-- does this work, because other styles require 'button' -->
        <Setter Property="Template" Value="{StaticResource ItemButtonTemplate}"/>
        <Setter Property="FontSize" Value="23"/>
        <Setter Property="Foreground" Value="White"/>
        <!--<Setter Property="Background" Value="Transparent"/>-->
    </Style>

    <!-- ToolTip Style -->
    <!--<Style x:Key="ToolTip" TargetType="{x:Type ToolTip}" BasedOn="{StaticResource DefaultControlStyle}">-->
    <Style x:Key="ToolTip" TargetType="{x:Type ToolTip}">
        <Setter Property="Background" Value="#EE333333"/>
        <Setter Property="BorderBrush" Value="#CC666666"/>
        <!--<Setter Property="Foreground" Value="{DynamicResource Brush.Border.Over}"/>-->
        <Setter Property="FontSize" Value="10"/>
        <Setter Property="Padding" Value="6,4"/>
        <Setter Property="Placement" Value="Mouse"/>
        <Setter Property="VerticalOffset" Value="21"/>
        <!-- Cursor Height -->
        <Setter Property="HorizontalContentAlignment" Value="Left"/>
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ToolTip}">
                    <Border x:Name="Border"
                        Background="{TemplateBinding Background}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}"
                        Padding="{TemplateBinding Padding}"
                        CornerRadius="1">
                        <ContentPresenter
                            HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                            VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                            />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


    <!-- Button Style -->
    <ControlTemplate x:Key="OptionButtonTemplate" TargetType="{x:Type ButtonBase}">
        <Border
            Background="{TemplateBinding Background}"
            BorderBrush="{TemplateBinding BorderBrush}"
            BorderThickness="{TemplateBinding BorderThickness}"
            Padding="{TemplateBinding Padding}"
            CornerRadius="1">
            <ContentPresenter
                HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
        </Border>
        <ControlTemplate.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="BorderBrush" Value="{DynamicResource Brush.Border.Over}"/>
                <Setter Property="Background" Value="{DynamicResource Brush.Background.Over}"/>
                <Setter Property="Foreground" Value="{DynamicResource Brush.Border.Over}"/>
            </Trigger>
            <Trigger Property="IsPressed" Value="True">
                <Setter Property="BorderBrush" Value="{DynamicResource Brush.Border.Pressed}"/>
                <Setter Property="Background" Value="{DynamicResource Brush.Background.Pressed}"/>
                <Setter Property="Foreground" Value="{DynamicResource Brush.Border.Over}"/>
            </Trigger>
            <Trigger Property="IsFocused" Value="True">
                <Setter Property="BorderBrush" Value="{DynamicResource Brush.Border.Focus}"/>
            </Trigger>
            <Trigger Property="IsEnabled" Value="False">
                <Setter Property="BorderBrush" Value="{DynamicResource Border.Background.Disabled}"/>
                <Setter Property="Background" Value="{DynamicResource Brush.Border.Disabled}"/>
                <Setter Property="Foreground" Value="{DynamicResource Brush.Foreground.Disabled}"/>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

    <!-- Submenu -->
    <DataTemplate x:Key="HeaderTextDataTemplate">
        <TextBlock Text="{Binding}" Style="{StaticResource HeaderStyleTextBlock}"/>
    </DataTemplate>

    <DataTemplate x:Key="HeaderContentControlDataTemplate">
        <ContentControl Content="{Binding}" Style="{StaticResource HeaderStyleContentControl}"/>
    </DataTemplate>

    <DataTemplate x:Key="HeaderImageTextDataTemplate">
        <StackPanel Orientation="Horizontal">
            <Image/>
            <TextBlock Text="{Binding}" FontFamily="{StaticResource Trebuchet MS}" Foreground="{StaticResource HeadingPrimaryFontBrush}" FontSize="{StaticResource Heading3FontSize}"/>
        </StackPanel>
    </DataTemplate>


    <Style x:Key="HeaderedContentStyle" TargetType="{x:Type HeaderedContentControl}">
        <Setter Property="HeaderTemplate" Value="{StaticResource HeaderTextDataTemplate}"/>
        <Setter Property="Focusable" Value="False"/>
        <Setter Property="FontFamily" Value="{StaticResource Trebuchet MS}"/>
        <Setter Property="FontSize" Value="{StaticResource Heading4FontSize}" />
        <Setter Property="Foreground" Value="{StaticResource HeadingPrimaryFontBrush}" />
        <Setter Property="Margin" Value="0, 0, 0, 0" />
        <Setter Property="noesis:Text.Stroke" Value="#EE000000" />
        <Setter Property="noesis:Text.StrokeThickness" Value="3" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type HeaderedContentControl}" >
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="55"/>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="55"/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="55"/>
                            <RowDefinition Height="*"/>
                            <RowDefinition Height="55"/>
                        </Grid.RowDefinitions>

                        <Rectangle Grid.Column="0" Grid.Row="0" Fill="{StaticResource SubmenuBorder_0_TL}"/>
                        <Rectangle Grid.Column="1" Grid.Row="0" Fill="{StaticResource SubmenuBorder_0_T}"/>
                        <Rectangle Grid.Column="2" Grid.Row="0" Fill="{StaticResource SubmenuBorder_0_TR}"/>

                        <Rectangle Grid.Column="0" Grid.Row="1" Fill="{StaticResource SubmenuBorder_0_ML}"/>
                        <Rectangle Grid.Column="1" Grid.Row="1" Fill="{StaticResource SubmenuBorder_0_M}"/>
                        <Rectangle Grid.Column="2" Grid.Row="1" Fill="{StaticResource SubmenuBorder_0_MR}"/>

                        <Rectangle Grid.Column="0" Grid.Row="2" Fill="{StaticResource SubmenuBorder_0_BL}"/>
                        <Rectangle Grid.Column="1" Grid.Row="2" Fill="{StaticResource SubmenuBorder_0_B}"/>
                        <Rectangle Grid.Column="2" Grid.Row="2" Fill="{StaticResource SubmenuBorder_0_BR}"/>

                        <ContentPresenter ContentSource="Header" Grid.ColumnSpan="3" Grid.Row="0" Margin="28, 0, 0, -2" HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
                        <ContentPresenter ContentSource="Content" Grid.ColumnSpan="3" Grid.Row="1" Grid.RowSpan="2" Margin="29, 3, 29, 15" VerticalAlignment="{TemplateBinding VerticalAlignment}"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="HeaderedContentStyleTight" TargetType="{x:Type HeaderedContentControl}">
        <Setter Property="HeaderTemplate" Value="{StaticResource HeaderTextDataTemplate}"/>
        <Setter Property="Focusable" Value="False"/>
        <Setter Property="FontFamily" Value="{StaticResource Trebuchet MS}"/>
        <Setter Property="FontSize" Value="{StaticResource Heading4FontSize}" />
        <Setter Property="Foreground" Value="{StaticResource HeadingPrimaryFontBrush}" />
        <Setter Property="noesis:Text.Stroke" Value="#EE000000" />
        <Setter Property="noesis:Text.StrokeThickness" Value="3" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type HeaderedContentControl}" >
                    <Grid MinHeight="50" MinWidth="50">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="55"/>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="55"/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="55"/>
                            <RowDefinition Height="*"/>
                            <RowDefinition Height="55"/>
                        </Grid.RowDefinitions>

                        <Rectangle Grid.Column="0" Grid.Row="0" Fill="{StaticResource SubmenuBorder_0_TL}"/>
                        <Rectangle Grid.Column="1" Grid.Row="0" Fill="{StaticResource SubmenuBorder_0_T}"/>
                        <Rectangle Grid.Column="2" Grid.Row="0" Fill="{StaticResource SubmenuBorder_0_TR}"/>

                        <Rectangle Grid.Column="0" Grid.Row="1" Fill="{StaticResource SubmenuBorder_0_ML}"/>
                        <Rectangle Grid.Column="1" Grid.Row="1" Fill="{StaticResource SubmenuBorder_0_M}"/>
                        <Rectangle Grid.Column="2" Grid.Row="1" Fill="{StaticResource SubmenuBorder_0_MR}"/>

                        <Rectangle Grid.Column="0" Grid.Row="2" Fill="{StaticResource SubmenuBorder_0_BL}"/>
                        <Rectangle Grid.Column="1" Grid.Row="2" Fill="{StaticResource SubmenuBorder_0_B}"/>
                        <Rectangle Grid.Column="2" Grid.Row="2" Fill="{StaticResource SubmenuBorder_0_BR}"/>

                        <ContentPresenter ContentSource="Header" Grid.ColumnSpan="3" Grid.Row="0" Margin="28, 0, 0, 0" HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
                        <ContentPresenter ContentSource="Content" Grid.ColumnSpan="3" Grid.Row="1" Grid.RowSpan="2" Margin="8, -3, 9, 8"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="UnheaderedContentStyle" TargetType="{x:Type ContentControl}">
        <Setter Property="Focusable" Value="False"/>
        <Setter Property="FontFamily" Value="{StaticResource Trebuchet MS}"/>
        <Setter Property="FontSize" Value="{StaticResource Heading4FontSize}" />
        <Setter Property="Foreground" Value="{StaticResource HeadingPrimaryFontBrush}" />
        <Setter Property="noesis:Text.Stroke" Value="#EE000000" />
        <Setter Property="noesis:Text.StrokeThickness" Value="3" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ContentControl}" >
                    <Grid MinHeight="50" MinWidth="50">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="55"/>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="55"/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="55"/>
                            <RowDefinition Height="*"/>
                            <RowDefinition Height="55"/>
                        </Grid.RowDefinitions>

                        <Rectangle Grid.Column="0" Grid.Row="0" Fill="{StaticResource SubmenuBorder_0_BL}" RenderTransformOrigin="0.5, 0.5">
                            <Rectangle.RenderTransform>
                                <ScaleTransform ScaleY="-1"/>
                            </Rectangle.RenderTransform>
                        </Rectangle>
                        <Rectangle Grid.Column="1" Grid.Row="0" Fill="{StaticResource SubmenuBorder_0_B}" RenderTransformOrigin="0.5, 0.5">
                            <Rectangle.RenderTransform>
                                <ScaleTransform ScaleY="-1"/>
                            </Rectangle.RenderTransform>
                        </Rectangle>
                        <Rectangle Grid.Column="2" Grid.Row="0" Fill="{StaticResource SubmenuBorder_0_BR}" RenderTransformOrigin="0.5, 0.5">
                            <Rectangle.RenderTransform>
                                <ScaleTransform ScaleY="-1"/>
                            </Rectangle.RenderTransform>
                        </Rectangle>

                        <Rectangle Grid.Column="0" Grid.Row="1" Fill="{StaticResource SubmenuBorder_0_ML}"/>
                        <Rectangle Grid.Column="1" Grid.Row="1" Fill="{StaticResource SubmenuBorder_0_M}"/>
                        <Rectangle Grid.Column="2" Grid.Row="1" Fill="{StaticResource SubmenuBorder_0_MR}"/>

                        <Rectangle Grid.Column="0" Grid.Row="2" Fill="{StaticResource SubmenuBorder_0_BL}"/>
                        <Rectangle Grid.Column="1" Grid.Row="2" Fill="{StaticResource SubmenuBorder_0_B}"/>
                        <Rectangle Grid.Column="2" Grid.Row="2" Fill="{StaticResource SubmenuBorder_0_BR}"/>

                        <ContentPresenter ContentSource="Content" Grid.ColumnSpan="3" Grid.Row="0" Grid.RowSpan="3" Margin="29, 10, 29, 10"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    
    <!-- why won't these work?  Same problem as textbox input for chat window.  I want to target ALL comboboxes. -->
    <!--<Style x:Key="ComboBoxStyle" BasedOn="{StaticResource {x:Type ComboBox}}" TargetType="{x:Type ComboBox}">
        <Setter Property="FontFamily" Value="{StaticResource HeadingFontFamily}" />
        <Setter Property="Foreground" Value="{StaticResource DefaultFontBrush}" />
        <Setter Property="FontSize" Value="{StaticResource Heading4FontSize}" />
        <Setter Property="Padding" Value="6" />
    </Style>

    <Style x:Key="ComboBoxItemStyle" BasedOn="{StaticResource {x:Type ComboBoxItem}}" TargetType="{x:Type ComboBoxItem}">
        <Setter Property="FontFamily" Value="{StaticResource HeadingFontFamily}" />
        <Setter Property="Foreground" Value="{StaticResource DefaultFontBrush}" />
        <Setter Property="FontSize" Value="{StaticResource Heading4FontSize}" />
        <Setter Property="Padding" Value="6" />
    </Style>-->
</ResourceDictionary>
ResourcesTheme.xaml (50,885 bytes)   
stonstad

stonstad

2021-09-21 15:52

reporter   ~0007468

I'm looking to upgrade to 3.1.x soon. I can advise if I see the same behavior in 3.1.x.
sfernandez

sfernandez

2021-09-22 10:00

manager   ~0007470

Yes please let us know if this is still happening for you with latest 3.1 version, thanks.
sfernandez

sfernandez

2021-11-03 11:42

manager   ~0007555

I was able to reproduce this issue with the xaml attached in the forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2463

<UserControl
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions">
    <TabControl Height="181.084" Width="493.681">
        <TabItem Header="TabItem1">
            <Grid Background="#FFE5E5E5"/>
        </TabItem>
        <TabItem Header="TabItem2">
            <Grid>
                <ListView HorizontalAlignment="Left" Height="100.494" Margin="10,10,0,0" VerticalAlignment="Top" Width="449.681">
                    <ListView.View>
                        <GridView>
                            <GridViewColumn Header="name" Width="160"/>
                        </GridView>
                    </ListView.View>
                </ListView>
            </Grid>
        </TabItem>
    </TabControl>
</UserControl>


I'll try to fix it for next release.

Issue History

Date Modified Username Field Change
2021-09-08 18:46 stonstad New Issue
2021-09-08 18:46 stonstad File Added: 01.PNG
2021-09-08 18:46 stonstad File Added: 02.PNG
2021-09-08 18:46 stonstad File Added: SettingsControl.xaml
2021-09-08 20:28 sfernandez Assigned To => sfernandez
2021-09-08 20:28 sfernandez Status new => feedback
2021-09-08 20:28 sfernandez Note Added: 0007425
2021-09-08 20:53 stonstad File Added: ResourcesTheme.xaml
2021-09-08 20:53 stonstad Note Added: 0007426
2021-09-08 20:53 stonstad Status feedback => assigned
2021-09-21 15:52 stonstad Note Added: 0007468
2021-09-22 10:00 sfernandez Note Added: 0007470
2021-09-22 10:00 sfernandez Target Version => 3.1.2
2021-09-22 10:00 sfernandez Description Updated
2021-11-03 11:42 sfernandez Note Added: 0007555
2021-11-03 12:45 sfernandez Status assigned => resolved
2021-11-03 12:45 sfernandez Resolution open => fixed
2021-11-03 12:45 sfernandez Fixed in Version => 3.1.2