Слияние кода завершено, страница обновится автоматически
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Controls;
using System.Windows.Media;
namespace LunarSF.SHomeWorkshop.LunarMarkdownEditor
{
/// <summary>
/// 此类用于在“查找结果”树型框中表示找到的一个 Markdown 文档。
/// </summary>
public class FindDocumentTreeViewItem : TreeViewItem, IFindItem
{
/// <summary>
/// [构造方法]用于在“查找结果”树型框中表示找到的一个 Markdown 文档。
/// </summary>
/// <param name="markdownFileFullName"></param>
/// <param name="shortFileName">未存盘的文件需要短名才能辨别。</param>
public FindDocumentTreeViewItem(string markdownFileFullName, string shortFileName, string customHeaderText = null)
{
this.BorderBrush = Brushes.Transparent;
this.BorderThickness = new System.Windows.Thickness(1);
if (string.IsNullOrEmpty(markdownFileFullName))
{
this.markdownFileFullName = shortFileName;
}
else
{
this.markdownFileFullName = markdownFileFullName;
}
this.Header = headerTextBlock = new TextBlock();
if (string.IsNullOrWhiteSpace(customHeaderText) == false)
{
headerTextBlock.Text = customHeaderText.Trim(new char[] { ' ', '\t', ' ', '\n', '\r', }); //这个首尾的空行还是不要出现的好。;
}
else
{
var title = this.DocumentTitle;
if (string.IsNullOrWhiteSpace(title))
{
headerTextBlock.Text = this.ShortName.Trim(new char[] { ' ', '\t', ' ', '\n', '\r', }); //这个首尾的空行还是不要出现的好。;
}
else
{
headerTextBlock.Text = title.Trim(new char[] { ' ', '\t', ' ', '\n', '\r', }); //这个首尾的空行还是不要出现的好。;
}
}
this.ToolTip = this.markdownFileFullName;
//更改默认样式
var style = FindResource("MetroTreeViewItem") as System.Windows.Style;
if (style != null) this.Style = style;
this.Background = Brushes.Transparent;
}
private string markdownFileFullName;
/// <summary>
/// Markdown 文件完整路径。
/// </summary>
public string MarkdownFileFullName
{
get { return markdownFileFullName; }
set
{
markdownFileFullName = value;
}
}
/// <summary>
/// 根据完整路径取其短名。
/// </summary>
public string ShortName
{
get
{
if (System.IO.File.Exists(this.markdownFileFullName) == false)
{
if (string.IsNullOrEmpty(this.markdownFileFullName))
{
return "文件不存在或未存盘!";
}
else return this.markdownFileFullName;//这是考虑到未存盘的文件。
}
var fileInfo = new System.IO.FileInfo(this.markdownFileFullName);
return fileInfo.Name;
}
}
/// <summary>
/// 取指向的 Markdown 文件的标题文本
/// </summary>
public string DocumentTitle
{
get
{
return MainWindow.GetTitleOfMdFile(this.markdownFileFullName);
}
}
private TextBlock headerTextBlock;
/// <summary>
/// 标头文本块。
/// </summary>
public TextBlock HeaderTextBlock
{
get { return this.headerTextBlock; }
}
private Brush foregroundOfText = Brushes.Black;
/// <summary>
/// 文本前景色。用于树型框失焦时保留边框。
/// </summary>
public Brush ForegroundOfText { get { return foregroundOfText; } }
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )