123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- using ComPDFKitViewer.AnnotEvent;
- using Prism.Mvvm;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Media;
- namespace PDF_Office.ViewModels.PropertyPanel.AnnotPanel
- {
- public class AnnotBasePropertyVM : BindableBase
- {
- //注释类型
- private AnnotArgsType _annotType;
- public AnnotArgsType AnnotType
- {
- get { return _annotType; }
- set => SetProperty(ref _annotType, value);
- }
- //注释类型名称
- private string _annotTypeTitle;
- public string AnnotTypeTitle
- {
- get { return _annotTypeTitle; }
- set => SetProperty(ref _annotTypeTitle, value);
- }
- #region 线条
- //线条粗细大小
- private double _annotThickness = 1;
- public double AnnotThickness
- {
- get { return _annotThickness; }
- set => SetProperty(ref _annotThickness, value);
- }
- //线条样式
- private DashStyle dash = new DashStyle();
- public DashStyle Dash
- {
- get { return dash; }
- set => SetProperty(ref dash, value);
- }
- #endregion 线条
- #region 填充
- //填充颜色透明度
- private double fillOpacity = 1;
- public double FillOpacity
- {
- get { return fillOpacity; }
- set => SetProperty(ref fillOpacity, value);
- }
- //当前填充颜色
- private Brush _currentFillColor = new SolidColorBrush(Colors.Transparent);
- public Brush CurrentFillColor
- {
- get { return _currentFillColor; }
- set => SetProperty(ref _currentFillColor, value);
- }
- //填充颜色
- private Brush fillColor = new SolidColorBrush(Colors.Transparent);
- public Brush FillColor
- {
- get { return fillColor; }
- set { SetProperty(ref fillColor, value); CurrentFillColor = fillColor; }
- }
- #endregion 填充
- #region 边框
- //边框颜色透明度
- private double _borderOpacity = 1;
- public double BorderOpacity
- {
- get { return _borderOpacity; }
- set => SetProperty(ref _borderOpacity, value);
- }
- private Brush _borderColor = new SolidColorBrush(Colors.Transparent);
- public Brush BorderColor
- {
- get { return _borderColor; }
- set { SetProperty(ref _borderColor, value); CurrentBorderColor = _borderColor; }
- }
- //当前边框颜色
- private Brush _currentBorderColor = new SolidColorBrush(Colors.Transparent);
- public Brush CurrentBorderColor
- {
- get { return _currentBorderColor; }
- set => SetProperty(ref _currentBorderColor, value);
- }
- private Brush _fontColor = new SolidColorBrush(Colors.Transparent);
- public Brush FontColor
- {
- get { return _fontColor; }
- set { SetProperty(ref _fontColor, value); CurrentFontColor = _fontColor; }
-
- }
- //当前边框颜色
- private Brush _currentFontColor = new SolidColorBrush(Colors.Transparent);
- public Brush CurrentFontColor
- {
- get { return _currentFontColor; }
- set => SetProperty(ref _currentFontColor, value);
- }
- //外部UI引用,判断是否选中实线、虚线、或都不选中
- public string strDashStyle { get; private set; }
- //VM赋值
- public void SetStrDashStyle(string str)
- {
- strDashStyle = str;
- }
- #endregion
- #region 多选
- //多选注释:用处 - 多选注释使得下拉框为空内容,刷新最新的UI布局
- private bool _isMultiSelected = false;
- public bool IsMultiSelected{
- get { return _isMultiSelected; }
- set => SetProperty(ref _isMultiSelected, value);
- }
- #endregion
- /// <summary>
- /// VM触发到外部UI事件
- /// </summary>
- public event EventHandler<object> SelectedAnnotInvokeToUI;
- //Todo:由于考虑到有些UI在VM不太方便处理,因此需要触发该函数到外部xaml.cs里更改UI属性。
- //更改多个属性:value可为键值对集合
- //适应范围:若VM在Loaded进行绑定,需要UI初始化之后,才能起到作用
- public void InvokeToUI(object sender,object value)
- {
- SelectedAnnotInvokeToUI?.Invoke(sender, value);
- }
- }
- }
|