Есть ли управление в Silverlight для собирания в группу средств управления для привязки данных. Например, скажите, что я сделал, чтобы Человек возразил, и я хочу отобразить fname, lname, возраст, высоту, и т.д. в TextBlocks. Существует ли управление, которое я могу использовать, чтобы собрать в группу эти средства управления TextBlock и установить ItemSource на просто, что управление, подобное тому, как Вы устанавливаете ItemSource на DataGrid и затем связываете каждый столбец?
Я думаю, что любой из этих ответов верен, однако не думаю, что он будет работать / подходит для моего приложения. Подход MVVM является излишним для моего приложения, и два других подхода не будут работать для меня по разным причинам. Я просто сделаю все в коде программной части.
Сгруппируйте TextBlocks в любом элементе управления макетом и привяжите DataContext элемента управления к Person. Если не задано явно, контекст каждого TextBlock будет относиться к родительскому.
<UserControl DataContext="">
<UserControl.DataContext>
<SomeViewModel />
</UserControl.DataContext>
<Grid DataContext="{Binding ThePerson}">
<TextBlock Text="{Binding fname}"/>
<TextBlock Text="{Binding lname}"/>
<TextBlock Text="{Binding age}"/>
<TextBlock Text="{Binding height}"/>
</Grid>
</UserControl>
Просмотр класса модели ...
public class SomeViewModel
{
public Person ThePerson { get;set; }
}
Вы можете использовать элемент управления DataForm и установить для его свойства IsReadOnly значение True, этот элемент управления обычно используется для редактирования данных, и не забудьте установить AutoGenerateFields = "True" ...
PS: Я полагаю, вы используете службу Ria с silverlight
Вы можете прочитать эту статью о MVVM http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
Похоже, вам нужно создать «PersonView» и «PersonViewModel» (и, возможно, «PersonCollectionViewModel») Это позволит вам привязать элементы управления вашего «PersonView» (UserControl Silverlight) к «PersonViewModel».