using ComPDFKit.PDFPage.Edit;
using ComPDFKitViewer.PdfViewer;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace compdfkit_tools.Edit
{
///
/// CPDFTextAlignUI.xaml 的交互逻辑
///
public partial class CPDFTextAlignUI : UserControl
{
public event EventHandler TextAlignChanged;
public CPDFTextAlignUI()
{
InitializeComponent();
}
public Orientation Orientation
{
get
{
return TextAlignUI.Orientation;
}
set
{
TextAlignUI.Orientation = value;
}
}
public TextAlignType Alignment { get;private set; }
public void SetFontAlign(TextAlignType newAlign)
{
ClearAlign();
Alignment = newAlign;
switch (newAlign)
{
case TextAlignType.AlignLeft:
AlignLeftBtn.IsChecked = true;
AlignLeftPath.Fill = Brushes.Blue;
break;
case TextAlignType.AlignMiddle:
AlignCenterBtn.IsChecked = true;
AlignCenterPath.Fill = Brushes.Blue;
break;
case TextAlignType.AlignRight:
AlignRightBtn.IsChecked = true;
AlignRightPath.Fill = Brushes.Blue;
break;
default:
break;
}
}
public void ClearAlign()
{
Alignment = TextAlignType.AlignNone;
AlignLeftPath.Fill = Brushes.Gray;
AlignCenterPath.Fill= Brushes.Gray;
AlignRightPath.Fill= Brushes.Gray;
AlignLeftBtn.IsChecked = false;
AlignCenterBtn.IsChecked = false;
AlignRightBtn.IsChecked= false;
}
private void TextAlignBtn_Click(object sender, RoutedEventArgs e)
{
ClearAlign();
ToggleButton clickBtn = sender as ToggleButton;
if (clickBtn != null && clickBtn.Tag!=null)
{
clickBtn.IsChecked = true;
TextAlignType newAlign = Alignment;
switch(clickBtn.Tag.ToString())
{
case "AlignLeft":
newAlign = TextAlignType.AlignLeft;
break;
case "AlignCenter":
newAlign = TextAlignType.AlignMiddle;
break;
case "AlignRight":
newAlign= TextAlignType.AlignRight;
break;
default:
break;
}
if(newAlign!=Alignment)
{
SetFontAlign(newAlign);
TextAlignChanged?.Invoke(this, newAlign);
}
}
}
}
}