Merge pull request #437 from irihitech/435-timeline

Extract timeline local values to style
This commit is contained in:
Dong Bin
2024-10-21 11:51:56 +08:00
committed by GitHub
2 changed files with 26 additions and 25 deletions

View File

@@ -14,47 +14,43 @@
mc:Ignorable="d">
<UserControl.Resources>
<ResourceDictionary>
<selectors:TimelineIconTemplateSelector x:Key="IconSelector" >
<SolidColorBrush x:Key="Default" Color="{DynamicResource SemiGray6Color}"></SolidColorBrush>
<SolidColorBrush x:Key="Ongoing" Color="{DynamicResource SemiBlue6Color}"></SolidColorBrush>
<SolidColorBrush x:Key="Success" Color="{DynamicResource SemiGreen6Color}"></SolidColorBrush>
<SolidColorBrush x:Key="Warning" Color="{DynamicResource SemiOrange6Color}"></SolidColorBrush>
<SolidColorBrush x:Key="Error" Color="{DynamicResource SemiRed6Color}"></SolidColorBrush>
<selectors:TimelineIconTemplateSelector x:Key="IconSelector">
<SolidColorBrush x:Key="Default" Color="{DynamicResource SemiGray6Color}" />
<SolidColorBrush x:Key="Ongoing" Color="{DynamicResource SemiBlue6Color}" />
<SolidColorBrush x:Key="Success" Color="{DynamicResource SemiGreen6Color}" />
<SolidColorBrush x:Key="Warning" Color="{DynamicResource SemiOrange6Color}" />
<SolidColorBrush x:Key="Error" Color="{DynamicResource SemiRed6Color}" />
</selectors:TimelineIconTemplateSelector>
</ResourceDictionary>
</UserControl.Resources>
<WrapPanel>
<u:Timeline
HorizontalAlignment="Left"
ContentMemberBinding="{Binding Description}"
HeaderMemberBinding="{Binding Header}"
IconMemberBinding="{Binding ItemType}"
IconTemplate="{StaticResource IconSelector}"
ItemsSource="{Binding Items}"
Mode="Alternate"
TimeMemberBinding="{Binding Time}" />
<u:Timeline
HorizontalAlignment="Left"
ContentMemberBinding="{Binding Description}"
HeaderMemberBinding="{Binding Header}"
IconMemberBinding="{Binding ItemType}"
IconTemplate="{StaticResource IconSelector}"
ItemsSource="{Binding Items}"
TimeMemberBinding="{Binding Time}" >
</u:Timeline>
<u:Timeline
Mode="Left"
HorizontalAlignment="Left"
ContentMemberBinding="{Binding Description}"
HeaderMemberBinding="{Binding Header}"
IconMemberBinding="{Binding ItemType}"
IconTemplate="{StaticResource IconSelector}"
ItemsSource="{Binding Items}"
TimeMemberBinding="{Binding Time}" >
</u:Timeline>
TimeMemberBinding="{Binding Time}" />
<u:Timeline
Mode="Right"
HorizontalAlignment="Left"
ContentMemberBinding="{Binding Description}"
HeaderMemberBinding="{Binding Header}"
IconMemberBinding="{Binding ItemType}"
IconTemplate="{StaticResource IconSelector}"
ItemsSource="{Binding Items}"
TimeMemberBinding="{Binding Time}" >
</u:Timeline>
Mode="Right"
TimeMemberBinding="{Binding Time}" />
<u:Timeline HorizontalAlignment="Left" Mode="Alternate">
<u:TimelineItem
Content="Step 1"

View File

@@ -2,7 +2,8 @@
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:Ursa.Themes.Semi.Converters"
xmlns:u="https://irihi.tech/ursa">
xmlns:u="https://irihi.tech/ursa"
xmlns:usemi="https://irihi.tech/ursa/themes/semi">
<Design.PreviewWith>
<StackPanel Width="100" Spacing="20">
<u:Timeline>
@@ -88,8 +89,7 @@
VerticalAlignment="Top"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
TextElement.FontSize="12"
TextElement.Foreground="Gray" />
TextElement.FontSize="12"/>
<TextBlock
Name="{x:Static u:TimelineItem.PART_Time}"
Grid.Row="0"
@@ -97,7 +97,6 @@
Margin="8,2"
VerticalAlignment="Top"
FontSize="12"
Foreground="Gray"
TextWrapping="Wrap">
<TextBlock.Text>
<MultiBinding Converter="{StaticResource FormatConverter}">
@@ -112,6 +111,12 @@
<Style Selector="^:last /template/ Rectangle.end">
<Setter Property="Fill" Value="Transparent" />
</Style>
<Style Selector="^ /template/ TextBlock#PART_Time">
<Setter Property="Foreground" Value="{DynamicResource TextBlockTertiaryForeground}"/>
</Style>
<Style Selector="^ /template/ ContentPresenter#PART_Content">
<Setter Property="TextElement.Foreground" Value="{DynamicResource TextBlockTertiaryForeground}"/>
</Style>
<Style Selector="^:empty-icon /template/ Ellipse#PART_DefaultIcon">
<Setter Property="IsVisible" Value="True"/>
</Style>