alvinchesaro Ответов: 1

Как сохранить richtextbox в базе данных sqlserver в WPF с помощью entity framework


Я немного новичок в C# и WPF и испытываю очень неприятную проблему хранения richtextbox с форматированием в моей базе данных с помощью entity framework. Я приложил ниже некоторый код.

Пожалуйста, помогите мне отладить его, я получаю ошибку в функции ConvertRtbToBytes, что... 'string' не содержит определения для 'Document' и не может быть найден доступный метод расширения 'Document', принимающий первый аргумент типа string (вы пропускаете директиву using или ссылку на сборку?)

Я также уверен, что общий код не в порядке, любая помощь будет очень признательна.

Вот мой код.

Что я уже пробовал:

namespace simpleton   
 public partial class AddNewOE : Window   
   {   
      //db connection           
      simpletonDBEntities _db = new simpletonDBEntities();  
      public AddNewOE()  
      {  
         InitializeComponent();  
       }  
  
       private void insertobBtn_Click(object sender, RoutedEventArgs e)  
       {  
   
           db_entry newdb_entries = new db_entry()   
          {   
             ReportDetails = ConvertRtbToBytes(rtfText)  
           };               
            _db.ob_entries.Add(newOb_entries);           
           _db.SaveChanges();   
        }  
       public static byte[] ConvertRtbToBytes(string richTextBox)   
       {   
            byte[] data = null; string rtfText; //string to save to db   
           TextRange tr = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);   
           using (MemoryStream ms = new MemoryStream())   
           {               
                   tr.Save(ms, DataFormats.Rtf);              
                   rtfText = Encoding.ASCII.GetString(ms.ToArray());  
             }   
            return data;  
         }  
     }  
  
}  

Herman<T>.Instance

Как выглядит ваш XAML?

1 Ответов

Рейтинг:
9

Herman<T>.Instance

Ваша функция ConvertRtbToBytes(строка richTextBox) запрашивает строку, но разве вам не нужен объект RichtTextBox вместо строки? Этот объект содержит в себе .Свойство документа. У строки этого нет


alvinchesaro

Вы правы! Я изменил это на свойство name моего текстового поля, и оно сработало!