70 lines
4.3 KiB
XML

<styles:CachedResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:styles="clr-namespace:KeyboardAudioVisualizer.Styles"
xmlns:visualizationProvider="clr-namespace:KeyboardAudioVisualizer.AudioProcessing.VisualizationProvider"
xmlns:visualization="clr-namespace:KeyboardAudioVisualizer.UI.Visualization">
<styles:CachedResourceDictionary.MergedDictionaries>
<styles:CachedResourceDictionary Source="/KeyboardAudioVisualizer;component/Styles/FrameworkElement.xaml" />
<styles:CachedResourceDictionary Source="/KeyboardAudioVisualizer;component/Styles/Theme.xaml" />
</styles:CachedResourceDictionary.MergedDictionaries>
<Style x:Key="StyleLevelVisualizer"
BasedOn="{StaticResource StyleFrameworkElement}"
TargetType="{x:Type visualization:LevelVisualizer}">
<Setter Property="Height" Value="64" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type visualization:LevelVisualizer}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Border Grid.Column="0" BorderThickness="0,0,1,0" BorderBrush="White">
<Border x:Name="BrdLeft" Background="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=BrushLeft}">
<Border.OpacityMask>
<VisualBrush>
<VisualBrush.Visual>
<Border Width="{Binding ElementName=BrdLeft, Path=ActualWidth}"
Height="{Binding ElementName=BrdLeft, Path=ActualHeight}"
Background="Transparent">
<Rectangle HorizontalAlignment="Right" Fill="Black"
Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=SizeLeft}" />
</Border>
</VisualBrush.Visual>
</VisualBrush>
</Border.OpacityMask>
</Border>
</Border>
<Border Grid.Column="1" BorderThickness="1,0,0,0" BorderBrush="White">
<Border x:Name="BrdRight" Background="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=BrushRight}">
<Border.OpacityMask>
<VisualBrush>
<VisualBrush.Visual>
<Border Width="{Binding ElementName=BrdRight, Path=ActualWidth}"
Height="{Binding ElementName=BrdRight, Path=ActualHeight}"
Background="Transparent">
<Rectangle HorizontalAlignment="Left" Fill="Black"
Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=SizeRight}" />
</Border>
</VisualBrush.Visual>
</VisualBrush>
</Border.OpacityMask>
</Border>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<DataTemplate DataType="{x:Type visualizationProvider:LevelVisualizationProvider}">
<visualization:LevelVisualizer Style="{StaticResource StyleLevelVisualizer}" VisualizationProvider="{Binding}" />
</DataTemplate>
</styles:CachedResourceDictionary>