Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,49 +7,77 @@
WindowStartupLocation="CenterScreen"
ResizeMode="NoResize"
mc:Ignorable="d"
Title="OpenSilver Configuration" Height="300" Width="350" Icon="Icon.ico">
Title="OpenSilver Configuration" Height="600" Width="660" Icon="Icon.ico">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2*" />
<RowDefinition Height="50" />
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="10*"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>

<StackPanel Width="200" Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Center">
<StackPanel Margin="10" x:Name="DotNetVersionStackPanel">
<TextBlock Margin="5" Text=".NET Version:"/>
<ComboBox x:Name="DotNetVersionComboBox">
<Grid Grid.Column="1" Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>

<TextBlock Text="Choose a theme:" FontSize="20" FontFamily="Inria Sans" FontWeight="DemiBold" Margin="-20" />
<local:ThemeCollectionView SelectionChanged="ThemeCollectionView_SelectionChanged" Grid.Row="1" />
</Grid>

<Grid Grid.Row="2" Grid.Column="1" x:Name="DotNetVersionPanel">
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Choose a version of .NET:" Grid.ColumnSpan="2" FontSize="20" FontFamily="Inria Sans" FontWeight="DemiBold" Margin="-20,0,0,32" />
<StackPanel Grid.Row="1" HorizontalAlignment="Stretch" >
<ComboBox x:Name="DotNetVersionComboBox" >
<ComboBoxItem>.NET 7</ComboBoxItem>
<ComboBoxItem>.NET 8</ComboBoxItem>
<ComboBoxItem IsSelected="True">.NET 9</ComboBoxItem>
</ComboBox>
</StackPanel>
</StackPanel>

<WrapPanel Orientation="Horizontal" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center">
<RadioButton Content="Modern Theme - Light" Margin="10,2" Tag="{x:Static local:ThemeSelectionEnum.Light}" GroupName="Theme" Checked="OnThemSelected" IsChecked="True" />
<RadioButton Content="Modern Theme - Dark" Margin="10,2" Tag="{x:Static local:ThemeSelectionEnum.Dark}" GroupName="Theme" Checked="OnThemSelected" />
<RadioButton Content="Classic Silverlight Theme" Tag="{x:Static local:ThemeSelectionEnum.Classic}" Margin="10,2" GroupName="Theme" Checked="OnThemSelected" />
</WrapPanel>

<StackPanel Grid.Row="2" Margin="10,0">
<TextBlock Text="Notes:"
<Border Background="#EEEEEE" Grid.Row="1" Grid.Column="1" Margin="10,-4,0,0" Padding="10" CornerRadius="10">
<StackPanel >
<TextBlock Text="Notes:"
TextWrapping="Wrap" Foreground="Gray"/>
<TextBlock Text="* .NET 8 requires Visual Studio 2022 v17.8 or newer"
<TextBlock Text="* .NET 8 requires Visual Studio 2022 v17.8 or newer"
TextWrapping="Wrap" Foreground="Gray"/>
<TextBlock Text="* .NET 9 requires Visual Studio 2022 v17.12 or newer"
<TextBlock Text="* .NET 9 requires Visual Studio 2022 v17.12 or newer"
TextWrapping="Wrap" Foreground="Gray"/>
</StackPanel>

</StackPanel>
</Border>

</Grid>

<Grid Margin="20" Grid.Row="3">

<Grid Margin="20" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Bottom">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="24" />
<ColumnDefinition />
</Grid.ColumnDefinitions>

<Button Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center" IsCancel="True">
<Button Grid.Column="0"
Background="#FFFFFF"
Foreground="#5A5A5A"
FontWeight="SemiBold"
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsCancel="True">
<Button.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="3"/>
Expand All @@ -58,14 +86,30 @@
<TextBlock Margin="5" Text="Back"/>
</Button>

<Button Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Click="ButtonContinue_Click">
<Button
x:Name="continueBtn"
Grid.Column="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Click="ButtonContinue_Click"
Background="#1157FA"
Foreground="#FFFFFF"
FontWeight="SemiBold"
IsEnabled="False"
>
<Button.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="3"/>
</Style>
</Button.Resources>

<TextBlock Margin="5" Text="Continue"/>
</Button>
</Grid>





</Grid>
</Window>
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using OpenSilver.TemplateWizards.AppCustomizationWindow.Models;
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
Expand Down Expand Up @@ -45,7 +46,7 @@ public AppConfigurationWindow(string openSilverType)
InitializeComponent();
if (openSilverType == "Library")
{
DotNetVersionStackPanel.Visibility = Visibility.Collapsed;
DotNetVersionPanel.Visibility = Visibility.Collapsed;
}
}

Expand Down Expand Up @@ -78,5 +79,11 @@ private void OnThemSelected(object sender, RoutedEventArgs e)
}

}

private void ThemeCollectionView_SelectionChanged(object sender, EventArgs e)
{
SelectedTheme= (sender as ThemeOptions).Name;
continueBtn.IsEnabled = true;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
using System.Collections.Generic;
using System.Runtime.CompilerServices;

namespace OpenSilver.TemplateWizards.AppCustomizationWindow.Models
{
public class ThemeOptions
{
public string ThumbnailUri { get; set; }
public string Name { get; set; }
public string Title { get; set; }
public string BackgroundColor { get; set; }

public static IEnumerable<ThemeOptions> GeThemes()
{
var themes = new List<ThemeOptions>();
themes.Add(new ThemeOptions { Name="Light",Title = "Modern - Light", ThumbnailUri = "/OpenSilver.TemplateWizards;component/Assets/Images/light_theme.png", BackgroundColor = "#FFFFFF" });
themes.Add(new ThemeOptions { Name="Dark",Title = "Modern - Dark", ThumbnailUri = "/OpenSilver.TemplateWizards;component/Assets/Images/dark_theme.png", BackgroundColor = "#111111" });
themes.Add(new ThemeOptions { Name="Classic",Title = "Classic - Silverlight", ThumbnailUri = "/OpenSilver.TemplateWizards;component/Assets/Images/classic_theme.png", BackgroundColor = "#FFFFFF" });
return themes;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
<UserControl x:Class="OpenSilver.TemplateWizards.AppCustomizationWindow.ThemeCollectionView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:OpenSilver.TemplateWizards.AppCustomizationWindow"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">

<UserControl.Resources>
<Style x:Key="ListBox_Style" TargetType="ListBox">
<Setter Property="Width" Value="330" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="Background" Value="{x:Null}" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" />
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>

<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="ListBoxItem">
<Setter Property="Padding" Value="2" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Stretch" />
<Setter Property="Background" Value="#55FFFFFF" />
<Setter Property="BorderThickness" Value="2"/>
<Setter Property="KeyboardNavigation.TabNavigation" Value="Local" />
<Setter Property="Margin" Value="10,0,10,60" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="MouseOver">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="mouseOverIndicator" Storyboard.TargetProperty="Opacity" Duration="0" To=".35"/>
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="themeTitle" Storyboard.TargetProperty="Opacity" Duration="0" To=".55" />
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="SelectionStates">
<VisualState x:Name="Unselected" />
<VisualState x:Name="Selected">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="selectionIndicator" Storyboard.TargetProperty="Opacity" Duration="0" To=".75"/>
<ObjectAnimationUsingKeyFrames
Storyboard.TargetName="themeTitle"
Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame KeyTime="0" >
<DiscreteObjectKeyFrame.Value>
<SolidColorBrush Color="#FFFFFF" />
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="selectedBorder" Storyboard.TargetProperty="Visibility" Duration="0">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Unfocused"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>

<Border x:Name="mouseOverIndicator" Opacity="0" Background="White" IsHitTestVisible="False" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="10" BorderBrush="Transparent"/>
<Grid >
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="8"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Border x:Name="FocusVisualElement" Visibility="Visible" Background="{Binding BackgroundColor}" Width="134" Height="134" IsHitTestVisible="False" BorderThickness="1" CornerRadius="10" BorderBrush="#D1D1D1"/>

<Image Source="{Binding ThumbnailUri}"
Width="134"
Height="134"
Stretch="Uniform"
Margin="0"
ToolTip="{Binding Description}"
/>

<Border x:Name="selectedBorder"
Visibility="Collapsed"
BorderThickness="0"
CornerRadius="14"
Grid.Row="2"
Background="#1157FA"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" >
</Border>

<TextBlock x:Name="themeTitle" Text="{Binding Title}"
Foreground="#FF626262"
FontWeight="SemiBold"
HorizontalAlignment="Center"
Grid.Row="2"
Margin="8"
VerticalAlignment="Bottom"
TextWrapping="Wrap"
FontSize="16"
FontFamily="Fantasy"/>
<Border x:Name="selectionIndicator" Width="146" Height="146" Opacity="0" IsHitTestVisible="False" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="10" BorderBrush="#FF1F7FD9" />

</Grid>

</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>

<Grid x:Name="mainGrid">
<ListBox x:Name="themeList" Style="{StaticResource ListBox_Style}" HorizontalAlignment="Center" HorizontalContentAlignment="Center" Width="{Binding ElementName=mainGrid,Path=ActualWidth}" Background="Transparent">
</ListBox>
</Grid>
</UserControl>
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
using OpenSilver.TemplateWizards.AppCustomizationWindow.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace OpenSilver.TemplateWizards.AppCustomizationWindow
{
/// <summary>
/// Interaction logic for ThemeCollectionView.xaml
/// </summary>
public partial class ThemeCollectionView : UserControl
{
public event EventHandler SelectionChanged;
public ThemeCollectionView()
{
InitializeComponent();
themeList.ItemsSource = ThemeOptions.GeThemes();
themeList.SelectionChanged += ThemeList_SelectionChanged;
}

private void ThemeList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{

SelectionChanged?.Invoke(themeList.SelectedItem, e);
}
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading