LunarPresentation/Expressions/BaseText.cs
(开头部分) 63KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Xml;
using SHomeWorkshop.LunarPresentation.Adorners;
using SHomeWorkshop.LunarPresentation.Interfaces;
namespace SHomeWorkshop.LunarPresentation.Expressions
{
public class BaseText : Expression, ICollapsed, IAutoWrap
{
public BaseText(SubPanel rootPanel, SubPanel parentPanel, Editor editor)
: base(rootPanel, parentPanel, editor)
{
textBlock = new TextBlock() { Padding = BaseText.textPadding, TextWrapping = TextWrapping.Wrap };
textBlock.Foreground = ExForeground;
textBlock.PreviewMouseDown += new MouseButtonEventHandler(textBlock_PreviewMouseDown);
this.mainBorder.Child = textBlock;
textBlock.MouseLeftButtonDown +=
new System.Windows.Input.MouseButtonEventHandler(textBox_MouseLeftButtonDown);
textBlock.MouseLeftButtonUp +=
new System.Windows.Input.MouseButtonEventHandler(textBox_MouseLeftButtonUp);
textBlock.MouseRightButtonDown += new System.Windows.Input.MouseButtonEventHandler(textBox_MouseRightButtonDown);
textBlock.MouseEnter += new System.Windows.Input.MouseEventHandler(textBox_MouseEnter);
textBlock.MouseLeave += new System.Windows.Input.MouseEventHandler(textBox_MouseLeave);
#region 绑定最大宽度。
MultiBinding maxWidthBinding = new MultiBinding();
Binding exFontSizeBinding = new Binding("ExFontSize");
exFontSizeBinding.Source = editor;
Binding wndWidthBinding = new Binding("ActualWidth");
wndWidthBinding.Source = editor.BaseScrolledViewer;
Binding indentBinding = new Binding("Indent");
indentBinding.Source = this;
Binding docAutoWrapBinding = new Binding("AutoWrap");
docAutoWrapBinding.Source = editor;
Binding selfAutoWrapBinding = new Binding("AutoWrap");
selfAutoWrapBinding.Source = this;
Binding maxTextWidthBinding = new Binding("MaxTextWidth");
maxTextWidthBinding.Source = editor;
maxWidthBinding.Bindings.Add(exFontSizeBinding);
maxWidthBinding.Bindings.Add(wndWidthBinding);
maxWidthBinding.Bindings.Add(indentBinding);
maxWidthBinding.Bindings.Add(docAutoWrapBinding);
maxWidthBinding.Bindings.Add(selfAutoWrapBinding);
后面还有 1726 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。