Форма данных в Silverlight 3

Я использую Dataform для отображения объекта в моем приложении Silverlight. Это простая страница ввода, на которой вы можете ввести значение, а кнопка СОХРАНИТЬ внизу отправляет информацию в базу данных.

Мой объект содержит 7 полей данных, из которых мне нужно показать только 5 из них. Два других поля данных добавляются в базу данных напрямую.

Мое приложение silverlight взаимодействует с базой данных через службы WCF.

Итак, вопрос в том, могу ли я фильтровать поля данных в форме данных?


person SVI    schedule 23.11.2009    source источник
comment
Еще одна вещь, вам лучше всего погуглить и изучить шаблон MVVM для silverlight, использовать codeplex.com/prism в качестве отправной точки   -  person Neil    schedule 25.11.2009


Ответы (2)


Если вы автоматически генерируете DataForm, вы можете использовать

[Display(AutoGenerateField=false)]
public string SomeProperty {get;set;}

Этот атрибут ранее назывался Bindable в бета-версии SL3 и с тех пор был изменен в версии RTM. Дополнительная информация здесь

person Neil    schedule 24.11.2009
comment
Нил, Вы имеете в виду, что я добавляю указанный выше атрибут к объекту в reference.cs? Как я уже говорил, я добавляю свою службу WCF в качестве ссылки на службу в моем проекте Silverlight. Я немного не решался изменить файл reference.cs, который автоматически создается, когда я добавляю ссылку на сервис. Это единственный выход? - person SVI; 24.11.2009
comment
нет, нет, хорошо, я предполагаю, что вы следуете архитектуре MVVM, возможно, с использованием призмы, поэтому в вашей модели просмотра добавьте их как атрибуты над вашим свойством, если вы не следуете шаблону MVVM, тогда вы привяжете форму данных ur непосредственно к службе WCF (также известной как reference.cs) - person Neil; 24.11.2009
comment
я думаю, вам стоит взглянуть на эту ссылку silverlightshow.net/items/ - person Neil; 25.11.2009

Ниже приведен фрагмент из файла xaml.

dataFormToolkit: DataForm x: Name = "dataForm" CommitButtonContent = "Сохранить" CancelButtonContent = "Отмена" AutoEdit = "True" AutoGenerateFields = "False"

Ниже приведен фрагмент из файла xaml.cs.

    public CreateProduct()
    {
        InitializeComponent();
        this.Loaded += new RoutedEventHandler(CreateProduct_Loaded);


    }

    private void CreateProduct_Loaded(object sender, RoutedEventArgs e)
    {

        ServiceReference.Product model = new ServiceReference.Product();
        dataForm.CurrentItem = model;
    }
person SVI    schedule 24.11.2009
comment
если autogenerate - false, то где DisplayTemplate? - person Neil; 25.11.2009