2009-11-23 1 views
1

Я использую Dataform для отображения объекта в приложении Silverlight. Это простая страница ввода, на которой вы можете ввести значение, а кнопка SAVE внизу подает информацию в базу данных.Данные в Silverlight 3

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

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

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

+0

1 более вещь, ур лучше я чтобы сделать некоторый поиск в Google и изучить шаблон MVVM для silverlight, используйте http://www.codeplex.com/prism в качестве отправной точки – Neil

ответ

2

Если вы Авто-генерации DataForm, вы можете использовать

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

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

+0

Neil, Вы имеете в виду, что я добавляю вышеуказанный атрибут к объекту в reference.cs ? Как, я сказал вам, что я добавляю свою службу WCF в качестве ссылки на службу в проекте Silverlight. Я был немного hestitant, чтобы изменить файл reference.cs, который автоматически генерируется, когда я добавляю ссылку на службу. Это единственный выход? – SVI

+0

no no, ok im im предполагая, что после архитектуры MVVM, возможно, с помощью призмы, поэтому в вашей модели просмотра добавьте их как атрибуты выше вашего свойства, если они не соответствуют шаблону MVVM, тогда вы можете привязать данные ур непосредственно к службе WCF (aka reference.cs) – Neil

+0

Я думаю, вы должны взглянуть на эту ссылку http://www.silverlightshow.net/items/Creating-Rich-Data-Forms-in-Silverlight-3-Customization.aspx – Neil

0

Ниже приводится фрагмент из XAML файла

dataFormToolkit: DataForm х: Name = "DataForm" CommitButtonContent = "Сохранить" CancelButtonContent = "Отменить" AutoEdit = "True" AutoGenerateFields = «Ложные»

Ниже приводится фрагмент из 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; 
    } 
+0

, если autogenerate is false то где DisplayTemplate? – Neil