簡體   English   中英

WPF Smith HTML編輯器正在將我的所有HTML標記更改為大寫

[英]WPF Smith HTML editor is changing all my HTML tags to upper case

我正在構建使用Smith HTML編輯器的WPF應用程序。 應用程序是MVVM,我將Smith控件綁定到包含HTML內容的字段。 一切正常,但是如果你點擊甚至鼠標懸停在HTML控件上,我正在處理的IsDirty實現會被觸發。 我仔細觀察了一下,發現只要控件失去焦點,它就會將我的所有標簽更改為大寫(因此應用程序會將字段視為已更改並將模型設置為臟。)

我很難掌握這個控件的任何文檔,但到目前為止我還沒有找到控制此行為的任何地方。

這是控件的XAML:

<smith:HtmlEditor Name="fldcomments" Height="320" BindingContent="{Binding Path=Student.Comments, Mode=TwoWay }"/>

我會感激任何提示。

所以這就像地獄一樣,但這是我想出的最好的。 我使用NUglify提取純文本,並將其作為我的字段設置函數的比較添加。 這是函數的代碼:

protected void SetField<T>(ref T field, T value, string propertyName)
    {

           if (!EqualityComparer<T>.Default.Equals(field, value))
            {
                IsDirty = true;

            if ((propertyName == "Comments") && (value != null) && (field != null))
            {

                var ugField = Uglify.HtmlToText((value as string));
                var ugValue = Uglify.HtmlToText(field as string);
                string strField = Regex.Replace(ugField.Code, @"\s+", string.Empty);
                string strValue = Regex.Replace(ugValue.Code, @"\s+", string.Empty);

                if (strField == strValue)
                { IsDirty = false; }
            }

                field = value;

                OnPropertyChanged(propertyName);
            }

        }

我不得不添加regex.replace來擺脫HTMLToText函數留在那里的一些額外的空格。

我並不自豪,但它有效。 對更好的解決方案仍然非常開放。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM