Filtration/Filtration/Views/ItemFilterScriptView.xaml
Ben 3a628df744 Fixed single line script description bug
Style tweaks inc. block selection style
2015-06-28 22:46:29 +01:00

92 lines
5.5 KiB
XML

<UserControl x:Class="Filtration.Views.ItemFilterScriptView"
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:views="clr-namespace:Filtration.Views"
xmlns:attachedProperties="clr-namespace:Filtration.Views.AttachedProperties"
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
xmlns:userControls="clr-namespace:Filtration.UserControls"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=viewModels:ItemFilterScriptViewModel}"
d:DesignHeight="300" d:DesignWidth="600">
<UserControl.InputBindings>
<KeyBinding Command="{Binding CopyBlockCommand}" Modifiers="Control" Key="C" />
<KeyBinding Command="{Binding PasteBlockCommand}" Modifiers="Control" Key="V" />
<KeyBinding Command="{Binding CopyBlockStyleCommand}" Modifiers="Shift+Control" Key="C" />
<KeyBinding Command="{Binding PasteBlockStyleCommand}" Modifiers="Shift+Control" Key="V" />
</UserControl.InputBindings>
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<!-- ReSharper disable once Xaml.RedundantResource -->
<DataTemplate x:Key="ItemFilterBlockTemplate">
<views:ItemFilterBlockView Margin="1" />
</DataTemplate>
<!-- ReSharper disable once Xaml.RedundantResource -->
<DataTemplate x:Key="ItemFilterSectionTemplate">
<views:ItemFilterSectionView Margin="1" />
</DataTemplate>
<views:BlockTemplateSelector x:Key="BlockTemplateSelector" />
</ResourceDictionary>
<ResourceDictionary Source="ExpanderStyle.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderThickness="1" BorderBrush="DarkGray" Margin="5,5,5,0">
<StackPanel Margin="2,2,2,2">
<Expander Style="{StaticResource ExpanderRightAlignStyle}">
<Expander.Header>
<TextBlock Text="Script Description" VerticalAlignment="Center" />
</Expander.Header>
<Grid>
<TextBox Text="{Binding Description, UpdateSourceTrigger=PropertyChanged}" Margin="5" MaxLines="20" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
</Grid>
</Expander>
</StackPanel>
</Border>
<Border Grid.Row="1" BorderThickness="1" BorderBrush="DarkGray" Margin="5,5,5,5">
<DockPanel LastChildFill="True">
<userControls:AutoScrollingListBox ItemsSource="{Binding ItemFilterBlockViewModels}"
Padding="5"
HorizontalContentAlignment="Stretch"
BorderThickness="0"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
VirtualizingStackPanel.VirtualizationMode="Recycling"
ItemTemplateSelector="{StaticResource BlockTemplateSelector}"
attachedProperties:SelectingItemAttachedProperty.SelectingItem="{Binding SectionBrowserSelectedBlockViewModel}"
SelectedItem="{Binding SelectedBlockViewModel}" x:Name="BlocksListBox">
<ListBox.InputBindings>
<KeyBinding Key="Delete" Command="{Binding DeleteBlockCommand}" />
</ListBox.InputBindings>
<ListBox.Resources>
<Style TargetType="ListBoxItem">
<!--<Setter Property="FocusVisualStyle" Value="{x:Null}" />-->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Name="Border" Padding="2" SnapsToDevicePixels="true">
<ContentPresenter />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Border" Property="Background" Value="#A9BDD8"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.Resources>
</userControls:AutoScrollingListBox>
</DockPanel>
</Border>
</Grid>
</UserControl>