Skip to content
Draft
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
59 changes: 59 additions & 0 deletions samples/SampleApp/DemoPages/LabelDemo.axaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<UserControl xmlns="https://github.com/avaloniaui"
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" d:DesignWidth="800" d:DesignHeight="650"
x:Class="SampleApp.DemoPages.LabelDemo">

<StackPanel Margin="10" Width="400" Spacing="15" HorizontalAlignment="Left">
<StackPanel>
<Label Content="Label" Target="{Binding #Input1}" />
<TextBox Name="Input1" Text="Input" />
</StackPanel>

<StackPanel>
<Label Content="Label explicitly disabled" IsEnabled="False" Target="{Binding #Input2}" />
<TextBox Name="Input2" Text="Linked input control not affected" />
</StackPanel>

<StackPanel IsEnabled="False">
<Label Content="Container disabled" Target="{Binding #Input3}" />
<TextBox Name="Input3" Text="Input" />
</StackPanel>

<StackPanel>
<Label Content="Linked control disabled" Target="{Binding #Input4}" />
<TextBox Name="Input4" Text="Input" IsEnabled="False" />
</StackPanel>

<StackPanel>
<Label Content="_Label not linked to Target" />
<TextBox Name="Input5" Text="No mnemonics, no accesibility, no label-click-to-focus" />
</StackPanel>


<TextBlock Margin="0 20 0 0">
To automatically show a colon after labels add a style:<LineBreak />
<TextBlock Classes="code" Text="&lt;Style Selector=&quot;Label /template/ TextBlock#Colon&quot;&gt;" /><LineBreak />
<TextBlock Classes="code" Text="&lt;Setter Property=&quot;IsVisible&quot; Value=&quot;True&quot; /&gt;" />
</TextBlock>

<StackPanel>
<Label Content="Label" Classes="form" Target="{Binding #Input6}" />
<TextBox Name="Input6" Text="Colon automatically added" />
</StackPanel>


<Grid Classes="form" ColumnDefinitions="Auto, *" RowDefinitions="Auto,Auto" Margin="10 0" ColumnSpacing="4" RowSpacing="4">
<Label Content="_First" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" Target="{Binding #FirstNameBox}" />
<TextBox Name="FirstNameBox" Grid.Row="0" Grid.Column="1" Text="Otto" />

<Label Content="Last Name" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" Target="{Binding #LastNameBox}" />
<TextBox Name="LastNameBox" Grid.Row="1" Grid.Column="1" IsEnabled="False" Text="Smith" />
</Grid>


</StackPanel>


</UserControl>
13 changes: 13 additions & 0 deletions samples/SampleApp/DemoPages/LabelDemo.axaml.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;

namespace SampleApp.DemoPages;

public partial class LabelDemo : UserControl
{
public LabelDemo()
{
InitializeComponent();
}
}
6 changes: 6 additions & 0 deletions samples/SampleApp/MainWindow.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,12 @@
</TabItem.Header>
<demoPages:GridSplitterDemo />
</TabItem>
<TabItem IsSelected="True">
<TabItem.Header>
<controls:SampleItemHeader Title="Label" ApplicableTo="MacOS, Windows - DevExpress, Linux - Yaru" />
</TabItem.Header>
<demoPages:LabelDemo />
</TabItem>
<TabItem>
<TabItem.Header>
<controls:SampleItemHeader Title="ListBox" ApplicableTo="MacOS, Windows - DevExpress" />
Expand Down
12 changes: 10 additions & 2 deletions samples/SampleApp/Styles.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@

<Style Selector="Border.alternativeBackground">
<Setter Property="Background" Value="{DynamicResource AlternativeBackgroundBrush}" />
</Style>
</Style>

<Style Selector="Panel.mainControl">
<Setter Property="Background" Value="{DynamicResource BackgroundBrush}" />
</Style>
Expand All @@ -43,4 +43,12 @@
<Setter Property="Padding" Value="4,0,4,0" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>

<!-- Example for consumer's styles accessing the colon (this rule is also used in RDM Styles.MacOS) -->
<Style
Selector="Grid.form > Label /template/ TextBlock#Colon,
Label.form /template/ TextBlock#Colon,
.compact-form > Label /template/ TextBlock#Colon">
<Setter Property="IsVisible" Value="True" />
</Style>
</Styles>
35 changes: 23 additions & 12 deletions src/Devolutions.AvaloniaTheme.DevExpress/Controls/Label.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,32 @@

<ControlTheme x:Key="{x:Type Label}" TargetType="Label">
<Setter Property="Padding" Value="3" />
<Setter Property="IsEnabled" Value="{Binding $self.Target.IsEnabled, FallbackValue=True}" />
<Setter Property="Template">
<ControlTemplate>
<ContentPresenter
Name="PART_ContentPresenter"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}"
ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}"
Padding="{TemplateBinding Padding}"
RecognizesAccessKey="True"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" />
<StackPanel Orientation="Horizontal" Margin="{TemplateBinding Padding}">
<ContentPresenter
Name="PART_ContentPresenter"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}"
ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}"
RecognizesAccessKey="True"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" />
<!-- TextBlock#Colon can be used in styles to automatically display colon after each label (cp. SampleApp/styles.axaml) -->
<TextBlock
Name="Colon"
Text=":"
IsVisible="False" />
</StackPanel>
</ControlTemplate>
</Setter>

<Style Selector="^:disabled">
<Setter Property="Foreground" Value="{DynamicResource ForegroundDisabledBrush}" />
</Style>
</ControlTheme>
</ResourceDictionary>
37 changes: 37 additions & 0 deletions src/Devolutions.AvaloniaTheme.Linux/Controls/Label.axaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<!-- Based off https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/Label.xaml -->

<ResourceDictionary xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:ClassModifier="internal">

<ControlTheme x:Key="{x:Type Label}" TargetType="Label">
<Setter Property="Padding" Value="3" />
<Setter Property="IsEnabled" Value="{Binding $self.Target.IsEnabled, FallbackValue=True}" />
<Setter Property="Template">
<ControlTemplate>
<StackPanel Orientation="Horizontal" Margin="{TemplateBinding Padding}">
<ContentPresenter Name="PART_ContentPresenter"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}"
ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}"
RecognizesAccessKey="True"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" />
<!-- TextBlock#Colon can be used in styles to automatically display colon after each label (cp. SampleApp/styles.axaml) -->
<TextBlock
Name="Colon"
Text=":"
IsVisible="False" />
</StackPanel>
</ControlTemplate>
</Setter>

<Style Selector="^:disabled">
<Setter Property="Foreground" Value="{DynamicResource ForegroundLowBrush}" />
</Style>

</ControlTheme>
</ResourceDictionary>
1 change: 1 addition & 0 deletions src/Devolutions.AvaloniaTheme.Linux/Controls/_index.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<MergeResourceInclude Source="DataGrid.axaml" />
<MergeResourceInclude Source="EmbeddableControlRoot.axaml" />
<MergeResourceInclude Source="Expander.axaml" />
<MergeResourceInclude Source="Label.axaml" />
<MergeResourceInclude Source="ListBox.axaml" />
<MergeResourceInclude Source="NumericUpDown.axaml" />
<MergeResourceInclude Source="TabItem.axaml" />
Expand Down
37 changes: 37 additions & 0 deletions src/Devolutions.AvaloniaTheme.MacOS/Controls/Label.axaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<!-- Based off https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/Label.xaml -->

<ResourceDictionary xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:ClassModifier="internal">

<ControlTheme x:Key="{x:Type Label}" TargetType="Label">
<Setter Property="Padding" Value="3" />
<Setter Property="IsEnabled" Value="{Binding $self.Target.IsEnabled, FallbackValue=True}" />
<Setter Property="Template">
<ControlTemplate>
<StackPanel Orientation="Horizontal" Margin="{TemplateBinding Padding}">
<ContentPresenter Name="PART_ContentPresenter"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}"
ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}"
RecognizesAccessKey="True"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" />
<!-- TextBlock#Colon can be used in styles to automatically display colon after each label (cp. SampleApp/styles.axaml) -->
<TextBlock
Name="Colon"
Text=":"
IsVisible="False" />
</StackPanel>
</ControlTemplate>
</Setter>

<Style Selector="^:disabled">
<Setter Property="Foreground" Value="{DynamicResource ForegroundLowBrush}" />
</Style>

</ControlTheme>
</ResourceDictionary>
1 change: 1 addition & 0 deletions src/Devolutions.AvaloniaTheme.MacOS/Controls/_index.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
<MergeResourceInclude Source="EditableComboBox.axaml" />
<MergeResourceInclude Source="Expander.axaml" />
<MergeResourceInclude Source="GridSplitter.axaml" />
<MergeResourceInclude Source="Label.axaml" />
<MergeResourceInclude Source="ListBox.axaml" />
<MergeResourceInclude Source="ListBoxItem.axaml" />
<MergeResourceInclude Source="Menu.axaml" />
Expand Down