WPF: копирование XmlElement - PullRequest
       6

WPF: копирование XmlElement

1 голос
/ 17 декабря 2009

Я создаю окно в WPF. Конструктор принимает «ref XmlElement settings», который используется для отображения информации в этом окне.

В конструкторе я клонирую эти настройки:

_ClonedSettings = (XmlElement)settings.Clone();

и я держу указатель на исходные настройки:

_OriginalSettings = настройки;

Интерфейс изменяет _ClonedSettings. Затем, если пользователь нажимает кнопку ОК, я хочу перезаписать исходные настройки с помощью _ClonedSettings, чтобы создатель окна получил правильные значения.

Как мне выполнить эту последнюю операцию копирования?

1 Ответ

1 голос
/ 17 декабря 2009

Не используйте реф. Просто установите настройки как общедоступное свойство в окне

public class SettingsEditor : Window
{ 
  public XmlElement Settings {get;set;}
  /*...*/
}

В окне обновите настройки и все, что вы сделали. После того, как окно будет показано, выведите настройки.

/*...*/
var editor = new SettingsEditor { Settings = settings };
editor.ShowDialog();
settings = editor.Settings;
/*...*/

Вы также можете установить DialogResult в своем окне, чтобы увидеть, что случилось с редактором ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...