livia-test/Livia/Resources/Themes/SettingsWindowItem.xaml
2025-03-28 14:31:53 +08:00

79 lines
4.7 KiB
XML

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:attachedProperties="clr-namespace:Livia.Views.AttachedProperties">
<Style x:Key="SettingsWindowDiscreteSliderItem"
TargetType="{x:Type Slider}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Slider}">
<DockPanel Margin="0, 10">
<TextBlock DockPanel.Dock="Left"
Style="{DynamicResource MaterialDesignBody1TextBlock}"
Foreground="{Binding Path=(TextElement.Foreground), RelativeSource={RelativeSource AncestorType=ContentPresenter}}"
VerticalAlignment="Center"
Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(attachedProperties:StringItemProperties.ItemName)}" />
<Slider DockPanel.Dock="Right"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Style="{DynamicResource MaterialDesignDiscreteSlider}"
Minimum="{TemplateBinding Minimum}"
Maximum="{TemplateBinding Maximum}"
TickFrequency="{TemplateBinding TickFrequency}"
Ticks="{TemplateBinding Ticks}"
Value="{Binding Value,RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
Width="300" />
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="SettingsWindowToggleItem"
TargetType="{x:Type ToggleButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<DockPanel Margin="0, 10">
<TextBlock DockPanel.Dock="Left"
Style="{DynamicResource MaterialDesignBody1TextBlock}"
Foreground="{Binding Path=(TextElement.Foreground), RelativeSource={RelativeSource AncestorType=ContentPresenter}}"
VerticalAlignment="Center"
Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(attachedProperties:StringItemProperties.ItemName)}" />
<ToggleButton DockPanel.Dock="Right"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Style="{DynamicResource MaterialDesignSwitchToggleButton}"
IsChecked="{Binding IsChecked,RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}" />
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="SettingsWindowComboBoxItem"
TargetType="{x:Type ComboBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBox}">
<DockPanel Margin="0, 10">
<TextBlock DockPanel.Dock="Left"
Style="{DynamicResource MaterialDesignBody1TextBlock}"
Foreground="{Binding Path=(TextElement.Foreground), RelativeSource={RelativeSource AncestorType=ContentPresenter}}"
VerticalAlignment="Center"
Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(attachedProperties:StringItemProperties.ItemName)}" />
<ComboBox DockPanel.Dock="Right"
HorizontalAlignment="Right"
VerticalAlignment="Center"
ItemsSource="{TemplateBinding ItemsSource}"
SelectedIndex="{Binding SelectedIndex,RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
SelectedItem="{Binding SelectedItem,RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
ItemTemplate="{TemplateBinding ItemTemplate}" />
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>