StructureHelper: View fixes
This commit is contained in:
@@ -7,12 +7,6 @@ namespace StructureHelper.Infrastructure
|
|||||||
public class ViewModelBase : INotifyPropertyChanged
|
public class ViewModelBase : INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
public event PropertyChangedEventHandler PropertyChanged;
|
public event PropertyChangedEventHandler PropertyChanged;
|
||||||
[NotifyPropertyChangedInvocator]
|
|
||||||
protected virtual void OnPropertyChanged<T>(T value, T prop, [CallerMemberName] string propertyName = null)
|
|
||||||
{
|
|
||||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
|
||||||
}
|
|
||||||
|
|
||||||
[NotifyPropertyChangedInvocator]
|
[NotifyPropertyChangedInvocator]
|
||||||
protected virtual void OnPropertyChanged<T>(T value, ref T prop, [CallerMemberName] string propertyName = null)
|
protected virtual void OnPropertyChanged<T>(T value, ref T prop, [CallerMemberName] string propertyName = null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace StructureHelper
|
|||||||
get => materialCollection;
|
get => materialCollection;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
OnPropertyChanged(value, materialCollection);
|
OnPropertyChanged(value, ref materialCollection);
|
||||||
OnPropertyChanged(nameof(IsNotConcrete));
|
OnPropertyChanged(nameof(IsNotConcrete));
|
||||||
OnPropertyChanged(nameof(RowHeight));
|
OnPropertyChanged(nameof(RowHeight));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,69 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
|
using StructureHelper.Annotations;
|
||||||
using StructureHelper.Infrastructure;
|
using StructureHelper.Infrastructure;
|
||||||
|
|
||||||
namespace StructureHelper
|
namespace StructureHelper
|
||||||
{
|
{
|
||||||
|
//public class ColorPickerViewModel : ViewModelBase
|
||||||
|
//{
|
||||||
|
// private int red, green, blue;
|
||||||
|
|
||||||
|
// public int Red
|
||||||
|
// {
|
||||||
|
// get => red;
|
||||||
|
// set => OnColorItemChanged(value, ref red);
|
||||||
|
// }
|
||||||
|
// public int Green
|
||||||
|
// {
|
||||||
|
// get => green;
|
||||||
|
// set => OnColorItemChanged(value, ref green);
|
||||||
|
// }
|
||||||
|
// public int Blue
|
||||||
|
// {
|
||||||
|
// get => blue;
|
||||||
|
// set => OnColorItemChanged(value, ref blue);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// private SolidColorBrush selectedColor;
|
||||||
|
// public SolidColorBrush SelectedColor
|
||||||
|
// {
|
||||||
|
// get => selectedColor;
|
||||||
|
// set => OnPropertyChanged(value, selectedColor);
|
||||||
|
// }
|
||||||
|
// public ICommand SetColor { get; }
|
||||||
|
// public ColorPickerViewModel(PrimitiveDefinitionBase primitive)
|
||||||
|
// {
|
||||||
|
// if (primitive != null)
|
||||||
|
// {
|
||||||
|
// var solidBrush = primitive.Brush;
|
||||||
|
// Red = solidBrush.Color.R;
|
||||||
|
// Green = solidBrush.Color.G;
|
||||||
|
// Blue = solidBrush.Color.B;
|
||||||
|
|
||||||
|
// SetColor = new RelayCommand(o => primitive.Brush = SelectedColor);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// private void OnColorItemChanged(int value, ref int colorItem, [CallerMemberName] string propertyName = null)
|
||||||
|
// {
|
||||||
|
// if (value >= 0 && value <= 255 && Math.Abs(colorItem - value) > 0.001)
|
||||||
|
// {
|
||||||
|
// colorItem = value;
|
||||||
|
// OnPropertyChanged(propertyName);
|
||||||
|
// UpdateSelectedColor();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// private void UpdateSelectedColor()
|
||||||
|
// {
|
||||||
|
// var color = Color.FromRgb((byte)Red, (byte)Green, (byte)Blue);
|
||||||
|
// SelectedColor = new SolidColorBrush(color);
|
||||||
|
// OnPropertyChanged(nameof(SelectedColor));
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
public class ColorPickerViewModel : ViewModelBase
|
public class ColorPickerViewModel : ViewModelBase
|
||||||
{
|
{
|
||||||
private int red, green, blue;
|
private int red, green, blue;
|
||||||
@@ -30,7 +88,8 @@ namespace StructureHelper
|
|||||||
public SolidColorBrush SelectedColor
|
public SolidColorBrush SelectedColor
|
||||||
{
|
{
|
||||||
get => selectedColor;
|
get => selectedColor;
|
||||||
set => OnPropertyChanged(value, selectedColor);
|
//selectedColor = value;
|
||||||
|
set => OnPropertyChanged(value, ref selectedColor);
|
||||||
}
|
}
|
||||||
public ICommand SetColor { get; }
|
public ICommand SetColor { get; }
|
||||||
public ColorPickerViewModel(PrimitiveDefinitionBase primitive)
|
public ColorPickerViewModel(PrimitiveDefinitionBase primitive)
|
||||||
|
|||||||
@@ -294,7 +294,7 @@
|
|||||||
</Canvas.Background>
|
</Canvas.Background>
|
||||||
<Line X1="0" X2="{Binding XX2}" Y1="{Binding XY1}" Y2="{Binding XY1}" Stroke="Red" StrokeThickness="1"/>
|
<Line X1="0" X2="{Binding XX2}" Y1="{Binding XY1}" Y2="{Binding XY1}" Stroke="Red" StrokeThickness="1"/>
|
||||||
<Line X1="{Binding YX1}" X2="{Binding YX1}" Y1="0" Y2="{Binding YY2}" Stroke="ForestGreen" StrokeThickness="1"/>
|
<Line X1="{Binding YX1}" X2="{Binding YX1}" Y1="0" Y2="{Binding YY2}" Stroke="ForestGreen" StrokeThickness="1"/>
|
||||||
<ItemsControl ItemsSource="{Binding Primitives}" ItemTemplate="{Binding}">
|
<ItemsControl ItemsSource="{Binding Rectangles}" ItemTemplate="{StaticResource rectangleTemplate}">
|
||||||
<ItemsControl.ItemsPanel>
|
<ItemsControl.ItemsPanel>
|
||||||
<ItemsPanelTemplate>
|
<ItemsPanelTemplate>
|
||||||
<Canvas/>
|
<Canvas/>
|
||||||
@@ -303,8 +303,22 @@
|
|||||||
<ItemsControl.ItemContainerStyle>
|
<ItemsControl.ItemContainerStyle>
|
||||||
<Style TargetType="ContentPresenter">
|
<Style TargetType="ContentPresenter">
|
||||||
<Setter Property="Canvas.ZIndex" Value="{Binding ZIndex}"/>
|
<Setter Property="Canvas.ZIndex" Value="{Binding ZIndex}"/>
|
||||||
<Setter Property="Canvas.Left" Value="{Binding X}"/>
|
<Setter Property="Canvas.Left" Value="{Binding RectX}"/>
|
||||||
<Setter Property="Canvas.Top" Value="{Binding Y}"/>
|
<Setter Property="Canvas.Top" Value="{Binding RectY}"/>
|
||||||
|
</Style>
|
||||||
|
</ItemsControl.ItemContainerStyle>
|
||||||
|
</ItemsControl>
|
||||||
|
<ItemsControl ItemsSource="{Binding Ellipses}" ItemTemplate="{StaticResource ellipseTemplate}">
|
||||||
|
<ItemsControl.ItemsPanel>
|
||||||
|
<ItemsPanelTemplate>
|
||||||
|
<Canvas/>
|
||||||
|
</ItemsPanelTemplate>
|
||||||
|
</ItemsControl.ItemsPanel>
|
||||||
|
<ItemsControl.ItemContainerStyle>
|
||||||
|
<Style TargetType="ContentPresenter">
|
||||||
|
<Setter Property="Canvas.ZIndex" Value="{Binding ZIndex}"/>
|
||||||
|
<Setter Property="Canvas.Left" Value="{Binding EllipseX}"/>
|
||||||
|
<Setter Property="Canvas.Top" Value="{Binding EllipseY}"/>
|
||||||
</Style>
|
</Style>
|
||||||
</ItemsControl.ItemContainerStyle>
|
</ItemsControl.ItemContainerStyle>
|
||||||
</ItemsControl>
|
</ItemsControl>
|
||||||
|
|||||||
Reference in New Issue
Block a user