Редактирование данных в дочернем окне с помощью служб RIA и Silverlight 4 - PullRequest
2 голосов
/ 21 апреля 2010

Можно ли редактировать данные в дочернем окне SilverLight при использовании RIA Services и Silverlight 4? Это звучит как достаточно простой вопрос, но я не смог заставить работать ни одну комбинацию сценариев.

Проще говоря, я просматриваю данные в сетке, заполненной через DomainDataSource. Вместо того, чтобы редактировать данные на одном экране (это шаблон, который, похоже, использует ВСЕ образцы Microsoft), я хочу открыть дочернее окно, отредактировать данные и вернуться. Конечно, это общий шаблон дизайна.

Если кто-нибудь знает образец, использующий этот шаблон, ссылка будет весьма полезна.

Спасибо, Рик Артур

Ответы [ 2 ]

0 голосов
/ 02 ноября 2010

Обнаружен легкий инструментарий MVVM здесь имеет связь между моделями просмотра для дополнительной информации, проверяемой над сайтом.Пожалуйста, напишите, если вам нужен пример.

0 голосов
/ 15 июля 2010

Это образец Microsoft, который использует ChildWindow . Он использует службы RIA, но не MVVM.

Это не решает проблему, которая возникает у меня, когда сущности привязываются к моему контексту, прежде чем я хочу, чтобы они были , но делает то, что вы ищете, кроме этого.

Вот соответствующий код, чтобы сохранить загрузку почтового индекса:

private void addNewEmployee_Click(object sender, RoutedEventArgs e)
    {
        EmployeeRegistrationWindow addEmp = new EmployeeRegistrationWindow();
        addEmp.Closed += new EventHandler(addEmp_Closed);
        addEmp.Show();
    }

public partial class EmployeeRegistrationWindow : ChildWindow
    {
        public EmployeeRegistrationWindow()
        {
            InitializeComponent();
            NewEmployee = new Employee();
            addEmployeeDataForm.CurrentItem = NewEmployee;
            addEmployeeDataForm.BeginEdit();    
        }

        private void OKButton_Click(object sender, RoutedEventArgs e)
        {
            addEmployeeDataForm.CommitEdit();
            this.DialogResult = true;
        }

        private void CancelButton_Click(object sender, RoutedEventArgs e)
        {
            NewEmployee = null;
            addEmployeeDataForm.CancelEdit();
            this.DialogResult = false;
        }

        public Employee NewEmployee { get; set; }
    }
...