diff --git a/Filtration/Converters/BooleanToBlockMarginConverter.cs b/Filtration/Converters/BooleanToBlockMarginConverter.cs
deleted file mode 100644
index 416d4c2..0000000
--- a/Filtration/Converters/BooleanToBlockMarginConverter.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System;
-using System.Globalization;
-using System.Windows;
-using System.Windows.Data;
-
-namespace Filtration.Converters
-{
- public class BooleanToBlockMarginConverter : IValueConverter
- {
- public double Length { get; set; }
-
- public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
- {
- var item = (bool)value;
-
- if (!item)
- return new Thickness(2, 0, 2, 0);
-
- return new Thickness(2, 2, 2, 2);
- }
-
- public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
- {
- return ((Thickness)value) == new Thickness(0, 0, 0, 0);
- }
- }
-}
diff --git a/Filtration/Filtration.csproj b/Filtration/Filtration.csproj
index fc275ee..4e0f402 100644
--- a/Filtration/Filtration.csproj
+++ b/Filtration/Filtration.csproj
@@ -167,7 +167,6 @@
-
diff --git a/Filtration/ViewModels/ItemFilterScriptViewModel.cs b/Filtration/ViewModels/ItemFilterScriptViewModel.cs
index 4cf2522..f7d3418 100644
--- a/Filtration/ViewModels/ItemFilterScriptViewModel.cs
+++ b/Filtration/ViewModels/ItemFilterScriptViewModel.cs
@@ -98,6 +98,7 @@ namespace Filtration.ViewModels
private IItemFilterBlockViewModelBase _selectedBlockViewModel;
private IItemFilterCommentBlockViewModel _sectionBrowserSelectedBlockViewModel;
private readonly ObservableCollection _itemFilterBlockViewModels;
+ private ObservableCollection _viewItemFilterBlockViewModels;
private ICollectionView _itemFilterBlockViewModelsCollectionView;
private Predicate _blockFilterPredicate;
private ICommandManager _scriptCommandManager;
@@ -153,6 +154,8 @@ namespace Filtration.ViewModels
icon.UriSource = new Uri("pack://application:,,,/Filtration;component/Resources/Icons/script_icon.png");
icon.EndInit();
IconSource = icon;
+
+ _viewItemFilterBlockViewModels = new ObservableCollection();
}
public void Initialise(IItemFilterScript itemFilterScript, bool newScript)
@@ -174,6 +177,8 @@ namespace Filtration.ViewModels
Title = Filename;
ContentId = "ScriptContentId";
+
+ UpdateBlockModelsForView();
}
private void ItemFilterBlocksOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs notifyCollectionChangedEventArgs)
@@ -196,6 +201,8 @@ namespace Filtration.ViewModels
break;
}
}
+
+ UpdateBlockModelsForView();
}
private void AddItemFilterBlockViewModels(IEnumerable itemFilterBlocks, int addAtIndex)
@@ -278,6 +285,19 @@ namespace Filtration.ViewModels
}
}
+ public ObservableCollection ViewItemFilterBlockViewModels
+ {
+ get
+ {
+ return _viewItemFilterBlockViewModels;
+ }
+ set
+ {
+ _viewItemFilterBlockViewModels = value;
+ RaisePropertyChanged();
+ }
+ }
+
public ObservableCollection ItemFilterBlockViewModels
{
get
@@ -1191,6 +1211,22 @@ namespace Filtration.ViewModels
else
break;
}
+
+ UpdateBlockModelsForView();
+ }
+
+ private void UpdateBlockModelsForView()
+ {
+ ObservableCollection blocksForView = new ObservableCollection();
+ foreach (var block in ItemFilterBlockViewModels)
+ {
+ if (block.IsVisible)
+ {
+ blocksForView.Add(block);
+ }
+ }
+
+ ViewItemFilterBlockViewModels = blocksForView;
}
}
}
diff --git a/Filtration/Views/ItemFilterBlockView.xaml b/Filtration/Views/ItemFilterBlockView.xaml
index ce00d76..98b941c 100644
--- a/Filtration/Views/ItemFilterBlockView.xaml
+++ b/Filtration/Views/ItemFilterBlockView.xaml
@@ -11,14 +11,13 @@
xmlns:componentModel="clr-namespace:System.ComponentModel;assembly=WindowsBase"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=viewModels:ItemFilterBlockViewModel}"
- d:DesignHeight="200" d:DesignWidth="800" Visibility="{Binding IsVisible, Converter={StaticResource BooleanVisibilityConverter}}">
+ d:DesignHeight="200" d:DesignWidth="800">
-