Esempio n. 1
0
        public ApartmentMarker(ApartmentsGroup apartmentGroup, Action <ApartmentsGroup> clickHandler) : base(apartmentGroup.Location)
        {
            const double defaultOpacity = 0.7;
            var          component      = new ApartmentMarkerShape(apartmentGroup.Title, apartmentGroup.HasNewest, apartmentGroup.AllIsOld)
            {
                Opacity = defaultOpacity
            };

            component.MouseUp += (sender, args) => clickHandler(apartmentGroup);
            int?cachedZIndex = null;

            component.MouseEnter += (sender, args) =>
            {
                component.Opacity = 1;
                cachedZIndex ??= ZIndex;
                ZIndex = cachedZIndex.Value + 1;
            };
            component.MouseLeave += (sender, args) =>
            {
                component.Opacity = defaultOpacity;
                if (cachedZIndex != null)
                {
                    ZIndex = cachedZIndex.Value;
                }
            };
            Shape = component;
            //var comp = new TestShape(apartmentGroup);
            //comp.MouseLeftButtonUp += (sender, args) => clickHandler(apartmentGroup);
            //Shape = comp;
        }
Esempio n. 2
0
 public ApartmentsGroupViewModel(ApartmentsGroup group)
 {
     if (group == null)
     {
         throw new ArgumentNullException(nameof(group));
     }
     Title      = group.Title;
     Apartments = new ObservableCollection <ApartmentDataViewModel>(
         group.Apartments
         .OrderBy(x => x.Price)
         .Select(x => new ApartmentDataViewModel(x)));
 }
 public ApartmentsGroupWindow(ApartmentsGroup group)
 {
     InitializeComponent();
     DataContext = new ApartmentsGroupViewModel(group);
 }
Esempio n. 4
0
 public TestShape(ApartmentsGroup apartmentGroup)
 {
     _apartmentGroup = apartmentGroup ?? throw new ArgumentNullException(nameof(apartmentGroup));
 }