首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wpf丰富文本框:"decor == TextDecorations.Strikethrough“错误

wpf丰富文本框:"decor == TextDecorations.Strikethrough“错误
EN

Stack Overflow用户
提问于 2022-08-10 20:19:32
回答 1查看 30关注 0票数 -1

试图检测RichTextbox中选定的文本是否为下划线或划线。获取函数调用的语法错误。不知道怎么解决。

不过,我认为它适用于Bold和斜体字。似乎TextDecorations在.NET库中不以类似于Bold和斜体的方式存在吗?

代码语言:javascript
复制
<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
<Grid>
   <RichTextBox Name="RichTextBox1"/>
</Grid>
</Window>
代码语言:javascript
复制
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Media;
namespace WpfApp1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private bool SelectionIsStrikethrough()
        {
            var decor = RichTextBox1.Selection.GetPropertyValue(TextDecorationsProperty);
            var unset = DependencyProperty.UnsetValue;
            var SelectionIsStrike = decor != unset && (TextDecorations)decor == TextDecorations.Strikethrough;
            return SelectionIsStrike;
        }

        private bool SelectionIsUnderline()
        {
            var decor = RichTextBox1.Selection.GetPropertyValue(TextDecorationsProperty);
            var unset = DependencyProperty.UnsetValue;
            var SelectionIsStrike = decor != unset && (TextDecorations)decor == TextDecorations.Underline;
            return SelectionIsStrike;
        }
        
        private bool SelectionIsBold()
        {
            var weight = RichTextBox1.Selection.GetPropertyValue(FontWeightProperty);
            var unset = DependencyProperty.UnsetValue;
            var SelectionIsBold = weight != unset && (FontWeight)weight == FontWeights.Bold;
            return SelectionIsBold;
        }
        private bool SelectionIsItalic()
        {
            var style = RichTextBox1.Selection.GetPropertyValue(FontStyleProperty);
            var unset = DependencyProperty.UnsetValue;
            var SelectionIsItalic = style != unset && (FontStyle)style == FontStyles.Italic;
            return SelectionIsItalic;
        }
    }       
}
EN

回答 1

Stack Overflow用户

发布于 2022-08-14 01:48:41

代码语言:javascript
复制
private bool SelectionIsUnderline()
{
var decor = mEdit.Selection.GetPropertyValue(Inline.TextDecorationsProperty);
var unset = DependencyProperty.UnsetValue;
var SelectionIsStrike = decor != unset && decor == TextDecorations.Underline;
return SelectionIsStrike;
}

private bool SelectionIsStrikethrough()
{
var decor = mEdit.Selection.GetPropertyValue(Inline.TextDecorationsProperty);
var unset = DependencyProperty.UnsetValue;
var SelectionIsStrike = decor != unset && decor == TextDecorations.Strikethrough;
return SelectionIsStrike;
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73312273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档