Painter/Model/ScaleData.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;

namespace Painter.Model
{
    public class ScaleData: INotifyPropertyChanged
    {
        double mScale = 1, mBaseWidth, mBaseHeight;
        public event PropertyChangedEventHandler PropertyChanged;
        static Dictionary<ScaleData, List<UIElement>> mDataMap=new Dictionary<ScaleData, List<UIElement>>();

        public static ScaleData Find_CreateScaleData(UIElement ui)
        {
            KeyValuePair<ScaleData, List<UIElement>> keyValue = 
                mDataMap.Where(o => o.Value.Contains(ui) ||
                    o.Value.Contains((ui as FrameworkElement)?.Parent) ||
                    o.Value.Contains((ui as Decorator)?.Child)||
                    o.Value.Contains((ui as ContentControl)?.Content)).FirstOrDefault();
            if (keyValue.Value == null)
            {
                keyValue = new KeyValuePair<ScaleData, List<UIElement>>(new ScaleData(), new List<UIElement>());
                mDataMap.Add(keyValue.Key, keyValue.Value);
            }
            if (!keyValue.Value.Contains(ui))
            {
                keyValue.Value.Add(ui);
            }
            return keyValue.Key;
        }

        public double Scale
        {
            get { return mScale; }
            set { mScale = value; }
        }
        public double BaseWidth
        {
            get { return mBaseWidth; }
            set { mBaseWidth = value; }
        }
        public double BaseHeight
        {
            get { return mBaseHeight; }
            set { mBaseHeight = value; }
        }
        public void UpdateWidthHeight()
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Sz_Width_Height"));
        }
        public string Sz_Width_Height
        {
            get { return (int)BaseWidth + "x" + (int)BaseHeight + "像素"; }
        }
        public double ZoomInOut(bool In)
后面还有 8 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。