예제 #1
0
        /// <summary>
        /// 保存文档事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SaveButton_Click(object sender, RoutedEventArgs e)
        {
            string str = "";

            editor.Document.GetText(TextGetOptions.FormatRtf, out str);
            if (str != old)
            {
                RtfText.SetRichText(editor, str);
                old = str;
            }
            ShowMessagePopupWindow("您确定要更改该文档吗", CommandKind.Save);
        }
    public static string GetNextText(IEnumerator <RtfObject> enumerator)
    {
        if (enumerator == null)
        {
            throw new ArgumentNullException("enumerator");
        }

        while (enumerator.MoveNext())
        {
            RtfText text = enumerator.Current as RtfText;
            if (text != null)
            {
                return(text.Text);
            }
        }
        return(null);
    }
    public static byte[] GetNextTextAsByteArray(IEnumerator <RtfObject> enumerator)
    {
        if (enumerator == null)
        {
            throw new ArgumentNullException("enumerator");
        }

        while (enumerator.MoveNext())
        {
            RtfText text = enumerator.Current as RtfText;
            if (text != null)
            {
                List <byte> bytes = new List <byte>();
                for (int i = 0; i < text.Text.Length; i += 2)
                {
                    bytes.Add((byte)FromHexa(text.Text[i], text.Text[i + 1]));
                }
                return(bytes.ToArray());
            }
        }
        return(null);
    }