mirror of
https://github.com/Stone-Red-Code/docs-desktop.git
synced 2026-09-06 23:43:07 +02:00
WPF publish initial content (#1032)
* Add overview article for new WPF (#178) * Remove previous WPF .NET 5 content * Overview article * New article: Create new WPF project (#183) * Basic index file * Finish article for new project. * acro * markdown fix * Fix build errors * fix code lang * fix code lang * Add differences article for WPF (#186) * Fix VS version for create app * Add differences article * Minor * fix overview styles code * Add code langs for overview * Port Window Overview WPF article (#1011) * Add Window overview article * Add TOC * Remove temp code * Fix headers * Port final Windows related articles (#1015) * Initial test commit * Add system dialogs * 75% complete * Add images * Fix linter * Add to toc * Add more howto * Fix code * Add get/set main window * Add missing code * Add to toc * Fix warnings * Fix warnings * missing code * Update see also * fix xref * Migrate wpf net core controls-styles articles (#1023) * Migrate control-styles * Fix links * Fix links * Port databinding article. (#1022) * Migrated databinding overview * update toc * Fix links/snippets * fix links * Move to correct folder * Port initial resources docs (#1026) * initial resources docs * Build errors * Update dotnet-desktop-guide/net/wpf/systems/xaml-resources-overview.md Co-authored-by: Genevieve Warren <[email protected]> * Apply suggestions from code review Co-authored-by: Genevieve Warren <[email protected]> * Feedback * Add app article * Add system article * Minor * meta * fix toc * Apply suggestions from code review Co-authored-by: Genevieve Warren <[email protected]> Co-authored-by: Genevieve Warren <[email protected]> * Add xaml article * reformat redirect * Redirects * WPF update XAML article (#1031) * convert snippets * minor edits * minor * Fix warnings * Fixes #1028 * Fixes #1028 * Apply suggestions from code review Co-authored-by: Genevieve Warren <[email protected]> * update redirects Co-authored-by: Genevieve Warren <[email protected]> * minor updates to link * Readd migration article * Warning fixes * Fix lint * Minor updates * Fix warnings for TOC/YML * last warnings Co-authored-by: Genevieve Warren <[email protected]>
This commit is contained in:
co-authored by
Genevieve Warren
parent
a3b012ae99
commit
ea8529f082
@@ -0,0 +1,9 @@
|
||||
<Application x:Class="csharp.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:csharp"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
namespace csharp
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
using System.Windows;
|
||||
|
||||
[assembly:ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
<Window x:Class="csharp.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:csharp"
|
||||
mc:Ignorable="d"
|
||||
Title="MainWindow" Height="450" Width="800">
|
||||
<Window.Resources>
|
||||
<LinearGradientBrush x:Key="RainbowBrush" StartPoint="0,0" EndPoint="1,1">
|
||||
<GradientStop Color="Red" Offset="0.0"/>
|
||||
<GradientStop Color="Orange" Offset="0.17"/>
|
||||
<GradientStop Color="Yellow" Offset="0.33"/>
|
||||
<GradientStop Color="Green" Offset="0.5"/>
|
||||
<GradientStop Color="Blue" Offset="0.67"/>
|
||||
<GradientStop Color="Indigo" Offset="0.83"/>
|
||||
<GradientStop Color="Violet" Offset="1.0"/>
|
||||
</LinearGradientBrush>
|
||||
</Window.Resources>
|
||||
<Grid>
|
||||
<Button x:Name="myButton" Click="myButton_Click">Click Me</Button>
|
||||
</Grid>
|
||||
</Window>
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
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 csharp
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MainWindow.xaml
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
//<ButtonBrush>
|
||||
private void myButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Button button = (Button)sender;
|
||||
button.Background = (Brush)this.FindResource("RainbowBrush");
|
||||
}
|
||||
//</ButtonBrush>
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net5.0-windows</TargetFramework>
|
||||
<UseWPF>true</UseWPF>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="ResExample - Copy - Copy.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
<DependentUpon>ResExample - Copy.xaml.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Update="ResExample - Copy.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
<DependentUpon>ResExample.xaml.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<Application x:Class="Application"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:vb"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
Class Application
|
||||
|
||||
' Application-level events, such as Startup, Exit, and DispatcherUnhandledException
|
||||
' can be handled in this file.
|
||||
|
||||
End Class
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
Imports System.Windows
|
||||
|
||||
'The ThemeInfo attribute describes where any theme specific and generic resource dictionaries can be found.
|
||||
'1st parameter: where theme specific resource dictionaries are located
|
||||
'(used if a resource is not found in the page,
|
||||
' or application resource dictionaries)
|
||||
|
||||
'2nd parameter: where the generic resource dictionary is located
|
||||
'(used if a resource is not found in the page,
|
||||
'app, and any theme specific resource dictionaries)
|
||||
<Assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)>
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
<Window x:Class="MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:vb"
|
||||
mc:Ignorable="d"
|
||||
Title="MainWindow" Height="450" Width="800">
|
||||
<Window.Resources>
|
||||
<LinearGradientBrush x:Key="RainbowBrush" StartPoint="0,0" EndPoint="1,1">
|
||||
<GradientStop Color="Red" Offset="0.0"/>
|
||||
<GradientStop Color="Orange" Offset="0.17"/>
|
||||
<GradientStop Color="Yellow" Offset="0.33"/>
|
||||
<GradientStop Color="Green" Offset="0.5"/>
|
||||
<GradientStop Color="Blue" Offset="0.67"/>
|
||||
<GradientStop Color="Indigo" Offset="0.83"/>
|
||||
<GradientStop Color="Violet" Offset="1.0"/>
|
||||
</LinearGradientBrush>
|
||||
</Window.Resources>
|
||||
<Grid>
|
||||
<Button x:Name="myButton" Click="myButton_Click">Click Me</Button>
|
||||
</Grid>
|
||||
</Window>
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
Class MainWindow
|
||||
'<ButtonBrush>
|
||||
Private Sub myButton_Click(sender As Object, e As RoutedEventArgs)
|
||||
Dim buttonControl = DirectCast(sender, Button)
|
||||
buttonControl.Background = DirectCast(Me.FindResource("RainbowBrush"), Brush)
|
||||
End Sub
|
||||
'</ButtonBrush>
|
||||
End Class
|
||||
@@ -0,0 +1,22 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net5.0-windows</TargetFramework>
|
||||
<RootNamespace>vb</RootNamespace>
|
||||
<UseWPF>true</UseWPF>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Import Include="System.Windows" />
|
||||
<Import Include="System.Windows.Controls" />
|
||||
<Import Include="System.Windows.Data" />
|
||||
<Import Include="System.Windows.Documents" />
|
||||
<Import Include="System.Windows.Input" />
|
||||
<Import Include="System.Windows.Media" />
|
||||
<Import Include="System.Windows.Media.Imaging" />
|
||||
<Import Include="System.Windows.Navigation" />
|
||||
<Import Include="System.Windows.Shapes" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<Application x:Class="csharp.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:csharp"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
namespace csharp
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
using System.Windows;
|
||||
|
||||
[assembly:ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
<Window x:Class="csharp.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:csharp"
|
||||
mc:Ignorable="d"
|
||||
Title="MainWindow" Height="200" Width="200">
|
||||
<!--<MainXaml>-->
|
||||
<StackPanel Margin="5">
|
||||
<Button Click="Button_Click">Explicitly Styled</Button>
|
||||
<Button>Unstyled</Button>
|
||||
<Button>Unstyled</Button>
|
||||
<Button Style="{DynamicResource ResourceKey=buttonStyle1}">Dynamically Styled</Button>
|
||||
</StackPanel>
|
||||
<!--</MainXaml>-->
|
||||
</Window>
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
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 csharp
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MainWindow.xaml
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
// <CreateStyleCode>
|
||||
private void Button_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
// Create colors
|
||||
Color purple = (Color)ColorConverter.ConvertFromString("#4E1A3D");
|
||||
Color white = Colors.White;
|
||||
Color salmon = Colors.Salmon;
|
||||
|
||||
// Create a new style for a button
|
||||
var buttonStyle = new Style(typeof(Button));
|
||||
|
||||
// Set the properties of the style
|
||||
buttonStyle.Setters.Add(new Setter(Control.BackgroundProperty, new SolidColorBrush(purple)));
|
||||
buttonStyle.Setters.Add(new Setter(Control.ForegroundProperty, new SolidColorBrush(white)));
|
||||
buttonStyle.Setters.Add(new Setter(Control.BorderBrushProperty, new LinearGradientBrush(purple, salmon, 45d)));
|
||||
buttonStyle.Setters.Add(new Setter(Control.BorderThicknessProperty, new Thickness(5)));
|
||||
|
||||
// <SetResource>
|
||||
// Set this style as a resource. Any DynamicResource tied to this key will be updated.
|
||||
this.Resources["buttonStyle1"] = buttonStyle;
|
||||
// </SetResource>
|
||||
|
||||
// <SetButtonStyle>
|
||||
// Set this style directly to a button
|
||||
((Button)sender).Style = buttonStyle;
|
||||
// </SetButtonStyle>
|
||||
}
|
||||
// </CreateStyleCode>
|
||||
|
||||
private void ButtonFind_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Button myButton = (Button)sender;
|
||||
|
||||
// <FindResource>
|
||||
myButton.Style = myButton.TryFindResource("buttonStyle1") as Style;
|
||||
// </FindResource>
|
||||
}
|
||||
}
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
<Window x:Class="resources.ResExample"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="ResExample" Height="400" Width="300">
|
||||
<!--<ResDefine>-->
|
||||
<Window.Resources>
|
||||
<SolidColorBrush x:Key="MyBrush" Color="#05E0E9"/>
|
||||
<Style TargetType="Border">
|
||||
<Setter Property="Background" Value="#4E1A3D" />
|
||||
<Setter Property="BorderThickness" Value="5" />
|
||||
<Setter Property="BorderBrush">
|
||||
<Setter.Value>
|
||||
<LinearGradientBrush>
|
||||
<GradientStop Offset="0.0" Color="#4E1A3D"/>
|
||||
<GradientStop Offset="1.0" Color="Salmon"/>
|
||||
</LinearGradientBrush>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
<Style TargetType="TextBlock" x:Key="TitleText">
|
||||
<Setter Property="FontSize" Value="18"/>
|
||||
<Setter Property="Foreground" Value="#4E87D4"/>
|
||||
<Setter Property="FontFamily" Value="Trebuchet MS"/>
|
||||
<Setter Property="Margin" Value="0,10,10,10"/>
|
||||
</Style>
|
||||
<Style TargetType="TextBlock" x:Key="Label">
|
||||
<Setter Property="HorizontalAlignment" Value="Right"/>
|
||||
<Setter Property="FontSize" Value="13"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource MyBrush}"/>
|
||||
<Setter Property="FontFamily" Value="Arial"/>
|
||||
<Setter Property="FontWeight" Value="Bold"/>
|
||||
<Setter Property="Margin" Value="0,3,10,0"/>
|
||||
</Style>
|
||||
</Window.Resources>
|
||||
<!--</ResDefine>-->
|
||||
<!--<ResUsed>-->
|
||||
<Border>
|
||||
<StackPanel>
|
||||
<TextBlock Style="{StaticResource TitleText}">Title</TextBlock>
|
||||
<TextBlock Style="{StaticResource Label}">Label</TextBlock>
|
||||
<TextBlock HorizontalAlignment="Right" FontSize="36" Foreground="{StaticResource MyBrush}" Text="Text" Margin="20" />
|
||||
<Button HorizontalAlignment="Left" Height="30" Background="{StaticResource MyBrush}" Margin="40">Button</Button>
|
||||
<Ellipse HorizontalAlignment="Center" Width="100" Height="100" Fill="{StaticResource MyBrush}" Margin="10" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<!--</ResUsed>-->
|
||||
|
||||
</Window>
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
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.Shapes;
|
||||
|
||||
namespace resources
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for ResExample.xaml
|
||||
/// </summary>
|
||||
public partial class ResExample : Window
|
||||
{
|
||||
public ResExample()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net5.0-windows</TargetFramework>
|
||||
<UseWPF>true</UseWPF>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="ResExample - Copy - Copy.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
<DependentUpon>ResExample - Copy.xaml.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Update="ResExample - Copy.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
<DependentUpon>ResExample.xaml.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<Application x:Class="Application"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:vb"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
Class Application
|
||||
|
||||
' Application-level events, such as Startup, Exit, and DispatcherUnhandledException
|
||||
' can be handled in this file.
|
||||
|
||||
End Class
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
Imports System.Windows
|
||||
|
||||
'The ThemeInfo attribute describes where any theme specific and generic resource dictionaries can be found.
|
||||
'1st parameter: where theme specific resource dictionaries are located
|
||||
'(used if a resource is not found in the page,
|
||||
' or application resource dictionaries)
|
||||
|
||||
'2nd parameter: where the generic resource dictionary is located
|
||||
'(used if a resource is not found in the page,
|
||||
'app, and any theme specific resource dictionaries)
|
||||
<Assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)>
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
<Window x:Class="MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:vb"
|
||||
mc:Ignorable="d"
|
||||
Title="MainWindow" Height="200" Width="200">
|
||||
<!--<MainXaml>-->
|
||||
<StackPanel Margin="5">
|
||||
<Button Click="Button_Click">Explicitly Styled</Button>
|
||||
<Button Click="ButtonFind_Click">Unstyled</Button>
|
||||
<Button>Unstyled</Button>
|
||||
<Button Style="{DynamicResource ResourceKey=buttonStyle1}">Dynamically Styled</Button>
|
||||
</StackPanel>
|
||||
<!--</MainXaml>-->
|
||||
</Window>
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
Class MainWindow
|
||||
'<CreateStyleCode>
|
||||
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
|
||||
|
||||
'Create colors
|
||||
Dim purple = DirectCast(ColorConverter.ConvertFromString("#4E1A3D"), Color)
|
||||
Dim white = Colors.White
|
||||
Dim salmon = Colors.Salmon
|
||||
|
||||
'Create a new style for a button
|
||||
Dim buttonStyle As New Style()
|
||||
|
||||
'Set the properties of the style
|
||||
buttonStyle.Setters.Add(New Setter(Control.BackgroundProperty, New SolidColorBrush(purple)))
|
||||
buttonStyle.Setters.Add(New Setter(Control.ForegroundProperty, New SolidColorBrush(white)))
|
||||
buttonStyle.Setters.Add(New Setter(Control.BorderBrushProperty, New LinearGradientBrush(purple, salmon, 45D)))
|
||||
buttonStyle.Setters.Add(New Setter(Control.BorderThicknessProperty, New Thickness(5)))
|
||||
|
||||
'<SetResource>
|
||||
'Set this style as a resource. Any DynamicResource looking for this key will be updated.
|
||||
Me.Resources("buttonStyle1") = buttonStyle
|
||||
'</SetResource>
|
||||
|
||||
'<SetButtonStyle>
|
||||
'Set this style directly to a button
|
||||
DirectCast(sender, Button).Style = buttonStyle
|
||||
'</SetButtonStyle>
|
||||
|
||||
End Sub
|
||||
'</CreateStyleCode>
|
||||
|
||||
Private Sub ButtonFind_Click(sender As Object, e As RoutedEventArgs)
|
||||
Dim myButton As Button = DirectCast(sender, Button)
|
||||
|
||||
'<FindResource>
|
||||
myButton.Style = myButton.TryFindResource("buttonStyle1")
|
||||
'</FindResource>
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net5.0-windows</TargetFramework>
|
||||
<RootNamespace>vb</RootNamespace>
|
||||
<UseWPF>true</UseWPF>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Import Include="System.Windows" />
|
||||
<Import Include="System.Windows.Controls" />
|
||||
<Import Include="System.Windows.Data" />
|
||||
<Import Include="System.Windows.Documents" />
|
||||
<Import Include="System.Windows.Input" />
|
||||
<Import Include="System.Windows.Media" />
|
||||
<Import Include="System.Windows.Media.Imaging" />
|
||||
<Import Include="System.Windows.Navigation" />
|
||||
<Import Include="System.Windows.Shapes" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
<Application x:Class="SampleApplication.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<!--<AppResources>-->
|
||||
<Application.Resources>
|
||||
<Style TargetType="Border" x:Key="FancyBorder">
|
||||
<Setter Property="Background" Value="#4E1A3D" />
|
||||
<Setter Property="BorderThickness" Value="5" />
|
||||
<Setter Property="BorderBrush">
|
||||
<Setter.Value>
|
||||
<LinearGradientBrush>
|
||||
<GradientStop Offset="0.0" Color="#4E1A3D"/>
|
||||
<GradientStop Offset="1.0" Color="Salmon"/>
|
||||
</LinearGradientBrush>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</Application.Resources>
|
||||
<!--</AppResources>-->
|
||||
</Application>
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
namespace SampleApplication
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
using System.Windows;
|
||||
|
||||
[assembly:ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
<Window x:Class="SampleApplication.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="MainWindow" Height="200" Width="200">
|
||||
<!--<AppResourcesExample>-->
|
||||
<Border Style="{StaticResource FancyBorder}">
|
||||
<StackPanel Margin="5">
|
||||
<Button>Button 1</Button>
|
||||
<Button>Button 2</Button>
|
||||
<Button>Button 3</Button>
|
||||
<Button>Button 4</Button>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<!--</AppResourcesExample>-->
|
||||
</Window>
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
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 SampleApplication
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MainWindow.xaml
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
// <CreateStyleCode>
|
||||
private void Button_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
// Create colors
|
||||
Color purple = (Color)ColorConverter.ConvertFromString("#4E1A3D");
|
||||
Color white = Colors.White;
|
||||
Color salmon = Colors.Salmon;
|
||||
|
||||
// Create a new style for a button
|
||||
var buttonStyle = new Style(typeof(Button));
|
||||
|
||||
// Set the properties of the style
|
||||
buttonStyle.Setters.Add(new Setter(Control.BackgroundProperty, new SolidColorBrush(purple)));
|
||||
buttonStyle.Setters.Add(new Setter(Control.ForegroundProperty, new SolidColorBrush(white)));
|
||||
buttonStyle.Setters.Add(new Setter(Control.BorderBrushProperty, new LinearGradientBrush(purple, salmon, 45d)));
|
||||
buttonStyle.Setters.Add(new Setter(Control.BorderThicknessProperty, new Thickness(5)));
|
||||
|
||||
// <SetResource>
|
||||
// Set this style as a resource. Any DynamicResource tied to this key will be updated.
|
||||
this.Resources["buttonStyle1"] = buttonStyle;
|
||||
// </SetResource>
|
||||
|
||||
// <SetButtonStyle>
|
||||
// Set this style directly to a button
|
||||
((Button)sender).Style = buttonStyle;
|
||||
// </SetButtonStyle>
|
||||
}
|
||||
// </CreateStyleCode>
|
||||
|
||||
private void ButtonFind_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Button myButton = (Button)sender;
|
||||
|
||||
// <FindResource>
|
||||
myButton.Style = myButton.TryFindResource("buttonStyle1") as Style;
|
||||
// </FindResource>
|
||||
}
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net5.0-windows</TargetFramework>
|
||||
<UseWPF>true</UseWPF>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="ResExample - Copy - Copy.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
<DependentUpon>ResExample - Copy.xaml.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Update="ResExample - Copy.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
<DependentUpon>ResExample.xaml.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<Application x:Class="Application"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:SampleApplication"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
Class Application
|
||||
|
||||
' Application-level events, such as Startup, Exit, and DispatcherUnhandledException
|
||||
' can be handled in this file.
|
||||
|
||||
End Class
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
Imports System.Windows
|
||||
|
||||
'The ThemeInfo attribute describes where any theme specific and generic resource dictionaries can be found.
|
||||
'1st parameter: where theme specific resource dictionaries are located
|
||||
'(used if a resource is not found in the page,
|
||||
' or application resource dictionaries)
|
||||
|
||||
'2nd parameter: where the generic resource dictionary is located
|
||||
'(used if a resource is not found in the page,
|
||||
'app, and any theme specific resource dictionaries)
|
||||
<Assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)>
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
<Window x:Class="MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:SampleApplication"
|
||||
mc:Ignorable="d"
|
||||
Title="MainWindow" Height="200" Width="200">
|
||||
<!--<MainXaml>-->
|
||||
<StackPanel Margin="5">
|
||||
<Button Click="Button_Click">Explicitly Styled</Button>
|
||||
<Button Click="ButtonFind_Click">Unstyled</Button>
|
||||
<Button>Unstyled</Button>
|
||||
<Button Style="{DynamicResource ResourceKey=buttonStyle1}">Dynamically Styled</Button>
|
||||
</StackPanel>
|
||||
<!--</MainXaml>-->
|
||||
</Window>
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
Class MainWindow
|
||||
'<CreateStyleCode>
|
||||
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
|
||||
|
||||
'Create colors
|
||||
Dim purple = DirectCast(ColorConverter.ConvertFromString("#4E1A3D"), Color)
|
||||
Dim white = Colors.White
|
||||
Dim salmon = Colors.Salmon
|
||||
|
||||
'Create a new style for a button
|
||||
Dim buttonStyle As New Style()
|
||||
|
||||
'Set the properties of the style
|
||||
buttonStyle.Setters.Add(New Setter(Control.BackgroundProperty, New SolidColorBrush(purple)))
|
||||
buttonStyle.Setters.Add(New Setter(Control.ForegroundProperty, New SolidColorBrush(white)))
|
||||
buttonStyle.Setters.Add(New Setter(Control.BorderBrushProperty, New LinearGradientBrush(purple, salmon, 45D)))
|
||||
buttonStyle.Setters.Add(New Setter(Control.BorderThicknessProperty, New Thickness(5)))
|
||||
|
||||
'<SetResource>
|
||||
'Set this style as a resource. Any DynamicResource looking for this key will be updated.
|
||||
Me.Resources("buttonStyle1") = buttonStyle
|
||||
'</SetResource>
|
||||
|
||||
'<SetButtonStyle>
|
||||
'Set this style directly to a button
|
||||
DirectCast(sender, Button).Style = buttonStyle
|
||||
'</SetButtonStyle>
|
||||
|
||||
End Sub
|
||||
'</CreateStyleCode>
|
||||
|
||||
Private Sub ButtonFind_Click(sender As Object, e As RoutedEventArgs)
|
||||
Dim myButton As Button = DirectCast(sender, Button)
|
||||
|
||||
'<FindResource>
|
||||
myButton.Style = myButton.TryFindResource("buttonStyle1")
|
||||
'</FindResource>
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net5.0-windows</TargetFramework>
|
||||
<RootNamespace>SampleApplication</RootNamespace>
|
||||
<UseWPF>true</UseWPF>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Import Include="System.Windows" />
|
||||
<Import Include="System.Windows.Controls" />
|
||||
<Import Include="System.Windows.Data" />
|
||||
<Import Include="System.Windows.Documents" />
|
||||
<Import Include="System.Windows.Input" />
|
||||
<Import Include="System.Windows.Media" />
|
||||
<Import Include="System.Windows.Media.Imaging" />
|
||||
<Import Include="System.Windows.Navigation" />
|
||||
<Import Include="System.Windows.Shapes" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
<Application x:Class="SampleApplication.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
StartupUri="MainWindow.xaml">
|
||||
|
||||
</Application>
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
namespace SampleApplication
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
using System.Windows;
|
||||
|
||||
[assembly:ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
<Window x:Class="SampleApplication.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="MainWindow" Height="200" Width="200">
|
||||
<!--<AppResourcesExample>-->
|
||||
<Border>
|
||||
<StackPanel Margin="5" x:Name="mainStackPanel">
|
||||
<!--<SystemFont>-->
|
||||
<TextBlock FontSize="{x:Static SystemFonts.SmallCaptionFontSize}"
|
||||
FontWeight="{x:Static SystemFonts.SmallCaptionFontWeight}"
|
||||
FontFamily="{x:Static SystemFonts.SmallCaptionFontFamily}"
|
||||
Text="Small Caption Font">
|
||||
</TextBlock>
|
||||
<!--</SystemFont>-->
|
||||
<!--<SystemFontDynamic>-->
|
||||
<TextBlock FontSize="{DynamicResource {x:Static SystemFonts.SmallCaptionFontSize}}"
|
||||
FontWeight="{DynamicResource {x:Static SystemFonts.SmallCaptionFontWeight}}"
|
||||
FontFamily="{DynamicResource {x:Static SystemFonts.SmallCaptionFontFamily}}"
|
||||
Text="Small Caption Font">
|
||||
</TextBlock>
|
||||
<!--</SystemFontDynamic>-->
|
||||
<Button Click="Button_Click_1">Test</Button>
|
||||
<!--<SystemParams>-->
|
||||
<Button FontSize="8"
|
||||
Height="{x:Static SystemParameters.CaptionHeight}"
|
||||
Width="{x:Static SystemParameters.IconGridWidth}"
|
||||
Content="System Parameters">
|
||||
</Button>
|
||||
<!--</SystemParams>-->
|
||||
<!--<SystemParamsDynamic>-->
|
||||
<Button FontSize="8"
|
||||
Height="{DynamicResource {x:Static SystemParameters.CaptionHeightKey}}"
|
||||
Width="{DynamicResource {x:Static SystemParameters.IconGridWidthKey}}"
|
||||
Content="System Parameters">
|
||||
</Button>
|
||||
<!--</SystemParamsDynamic>-->
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<!--</AppResourcesExample>-->
|
||||
</Window>
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
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 SampleApplication
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MainWindow.xaml
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Button_Click_1(object sender, RoutedEventArgs e)
|
||||
{
|
||||
// <SystemFont>
|
||||
var myButton = new Button()
|
||||
{
|
||||
Content = "SystemFonts",
|
||||
Background = SystemColors.ControlDarkDarkBrush,
|
||||
FontSize = SystemFonts.IconFontSize,
|
||||
FontWeight = SystemFonts.MessageFontWeight,
|
||||
FontFamily = SystemFonts.CaptionFontFamily
|
||||
};
|
||||
|
||||
mainStackPanel.Children.Add(myButton);
|
||||
// </SystemFont>
|
||||
}
|
||||
|
||||
private void Button_Click_2(object sender, RoutedEventArgs e)
|
||||
{
|
||||
// <SystemParams>
|
||||
var myButton = new Button()
|
||||
{
|
||||
Content = "SystemParameters",
|
||||
FontSize = 8,
|
||||
Background = SystemColors.ControlDarkDarkBrush,
|
||||
Height = SystemParameters.CaptionHeight,
|
||||
Width = SystemParameters.CaptionWidth,
|
||||
};
|
||||
|
||||
mainStackPanel.Children.Add(myButton);
|
||||
// </SystemParams>
|
||||
}
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net5.0-windows</TargetFramework>
|
||||
<UseWPF>true</UseWPF>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="ResExample - Copy - Copy.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
<DependentUpon>ResExample - Copy.xaml.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Update="ResExample - Copy.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
<DependentUpon>ResExample.xaml.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<Application x:Class="Application"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:SampleApplication"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
Class Application
|
||||
|
||||
' Application-level events, such as Startup, Exit, and DispatcherUnhandledException
|
||||
' can be handled in this file.
|
||||
|
||||
End Class
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
Imports System.Windows
|
||||
|
||||
'The ThemeInfo attribute describes where any theme specific and generic resource dictionaries can be found.
|
||||
'1st parameter: where theme specific resource dictionaries are located
|
||||
'(used if a resource is not found in the page,
|
||||
' or application resource dictionaries)
|
||||
|
||||
'2nd parameter: where the generic resource dictionary is located
|
||||
'(used if a resource is not found in the page,
|
||||
'app, and any theme specific resource dictionaries)
|
||||
<Assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)>
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
<Window x:Class="MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:SampleApplication"
|
||||
mc:Ignorable="d"
|
||||
Title="MainWindow" Height="200" Width="200">
|
||||
<Border>
|
||||
<StackPanel Margin="5" x:Name="mainStackPanel">
|
||||
<!--<SystemFont>-->
|
||||
<TextBlock FontSize="{x:Static SystemFonts.SmallCaptionFontSize}"
|
||||
FontWeight="{x:Static SystemFonts.SmallCaptionFontWeight}"
|
||||
FontFamily="{x:Static SystemFonts.SmallCaptionFontFamily}"
|
||||
Text="Small Caption Font">
|
||||
</TextBlock>
|
||||
<!--</SystemFont>-->
|
||||
<!--<SystemFontDynamic>-->
|
||||
<TextBlock FontSize="{DynamicResource {x:Static SystemFonts.SmallCaptionFontSize}}"
|
||||
FontWeight="{DynamicResource {x:Static SystemFonts.SmallCaptionFontWeight}}"
|
||||
FontFamily="{DynamicResource {x:Static SystemFonts.SmallCaptionFontFamily}}"
|
||||
Text="Small Caption Font">
|
||||
</TextBlock>
|
||||
<!--</SystemFontDynamic>-->
|
||||
<Button Click="Button_Click_1">Test</Button>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</Window>
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
Class MainWindow
|
||||
Private Sub Button_Click_1(sender As Object, e As RoutedEventArgs)
|
||||
' <SystemFont>
|
||||
Dim myButton = New Button() With
|
||||
{
|
||||
.Content = "SystemFonts",
|
||||
.Background = SystemColors.ControlDarkDarkBrush,
|
||||
.FontSize = SystemFonts.IconFontSize,
|
||||
.FontWeight = SystemFonts.MessageFontWeight,
|
||||
.FontFamily = SystemFonts.CaptionFontFamily
|
||||
}
|
||||
|
||||
mainStackPanel.Children.Add(myButton)
|
||||
' </SystemFont>
|
||||
End Sub
|
||||
|
||||
Private Sub Button_Click_2(sender As Object, e As RoutedEventArgs)
|
||||
' <SystemParams>
|
||||
Dim myButton = New Button() With
|
||||
{
|
||||
.Content = "SystemParameters",
|
||||
.FontSize = 8,
|
||||
.Background = SystemColors.ControlDarkDarkBrush,
|
||||
.Height = SystemParameters.CaptionHeight,
|
||||
.Width = SystemParameters.CaptionWidth
|
||||
}
|
||||
|
||||
mainStackPanel.Children.Add(myButton)
|
||||
' </SystemParams>
|
||||
End Sub
|
||||
End Class
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net5.0-windows</TargetFramework>
|
||||
<RootNamespace>SampleApplication</RootNamespace>
|
||||
<UseWPF>true</UseWPF>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Import Include="System.Windows" />
|
||||
<Import Include="System.Windows.Controls" />
|
||||
<Import Include="System.Windows.Data" />
|
||||
<Import Include="System.Windows.Documents" />
|
||||
<Import Include="System.Windows.Input" />
|
||||
<Import Include="System.Windows.Media" />
|
||||
<Import Include="System.Windows.Media.Imaging" />
|
||||
<Import Include="System.Windows.Navigation" />
|
||||
<Import Include="System.Windows.Shapes" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,9 @@
|
||||
<Application x:Class="csharp.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:csharp"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
namespace csharp
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
using System.Windows;
|
||||
|
||||
[assembly:ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
<Page x:Class="resources.ImplicitStyle"
|
||||
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:resources"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800"
|
||||
Title="ImplicitStyle">
|
||||
<Page.Resources>
|
||||
<!--<ImplicitStyle>-->
|
||||
<Style TargetType="Button">
|
||||
<Setter Property="Background" Value="#4E1A3D" />
|
||||
<Setter Property="Foreground" Value="White" />
|
||||
<Setter Property="BorderThickness" Value="5" />
|
||||
<Setter Property="BorderBrush">
|
||||
<Setter.Value>
|
||||
<LinearGradientBrush>
|
||||
<GradientStop Offset="0.0" Color="#4E1A3D"/>
|
||||
<GradientStop Offset="1.0" Color="Salmon"/>
|
||||
</LinearGradientBrush>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
<!--</ImplicitStyle>-->
|
||||
</Page.Resources>
|
||||
<Grid>
|
||||
<Button>Hello</Button>
|
||||
</Grid>
|
||||
</Page>
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
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 resources
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for ImplicitStyle.xaml
|
||||
/// </summary>
|
||||
public partial class ImplicitStyle : Page
|
||||
{
|
||||
public ImplicitStyle()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
<Window x:Class="csharp.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:csharp"
|
||||
mc:Ignorable="d"
|
||||
Title="MainWindow" Height="450" Width="800">
|
||||
<Grid>
|
||||
|
||||
</Grid>
|
||||
</Window>
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
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 csharp
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MainWindow.xaml
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
<Window x:Class="resources.ResExample"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="ResExample" Height="400" Width="300">
|
||||
<Window.Resources>
|
||||
<SolidColorBrush x:Key="MyBrush" Color="#05E0E9"/>
|
||||
<Style TargetType="Border">
|
||||
<Setter Property="Background" Value="#4E1A3D" />
|
||||
<Setter Property="BorderThickness" Value="5" />
|
||||
<Setter Property="BorderBrush">
|
||||
<Setter.Value>
|
||||
<LinearGradientBrush>
|
||||
<GradientStop Offset="0.0" Color="#4E1A3D"/>
|
||||
<GradientStop Offset="1.0" Color="Salmon"/>
|
||||
</LinearGradientBrush>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
<Style TargetType="TextBlock" x:Key="TitleText">
|
||||
<Setter Property="FontSize" Value="18"/>
|
||||
<Setter Property="Foreground" Value="#4E87D4"/>
|
||||
<Setter Property="FontFamily" Value="Trebuchet MS"/>
|
||||
<Setter Property="Margin" Value="0,10,10,10"/>
|
||||
</Style>
|
||||
<Style TargetType="TextBlock" x:Key="Label">
|
||||
<Setter Property="HorizontalAlignment" Value="Right"/>
|
||||
<Setter Property="FontSize" Value="13"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource MyBrush}"/>
|
||||
<Setter Property="FontFamily" Value="Arial"/>
|
||||
<Setter Property="FontWeight" Value="Bold"/>
|
||||
<Setter Property="Margin" Value="0,3,10,0"/>
|
||||
</Style>
|
||||
</Window.Resources>
|
||||
|
||||
<Border>
|
||||
<StackPanel>
|
||||
<TextBlock Style="{StaticResource TitleText}">Title</TextBlock>
|
||||
<TextBlock Style="{StaticResource Label}">Label</TextBlock>
|
||||
<TextBlock HorizontalAlignment="Right" FontSize="36" Foreground="{StaticResource MyBrush}" Text="Text" Margin="20" />
|
||||
<Button HorizontalAlignment="Left" Height="30" Background="{StaticResource MyBrush}" Margin="40">Button</Button>
|
||||
<Ellipse HorizontalAlignment="Center" Width="100" Height="100" Fill="{StaticResource MyBrush}" Margin="10" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
</Window>
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
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.Shapes;
|
||||
|
||||
namespace resources
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for ResExample.xaml
|
||||
/// </summary>
|
||||
public partial class ResExample : Window
|
||||
{
|
||||
public ResExample()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net5.0-windows</TargetFramework>
|
||||
<UseWPF>true</UseWPF>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="ResExample - Copy - Copy.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
<DependentUpon>ResExample - Copy.xaml.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Update="ResExample - Copy.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
<DependentUpon>ResExample.xaml.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Reference in New Issue
Block a user