Я новичок в Silverlight, поэтому у меня нет полного понимания всех элементов управления в моем распоряжении. Я хотел бы использовать привязку данных и модель представления для поддержки коллекции элементов. Вот некоторый макет кода для того, что я хотел бы сделать:
Модель
public class MyItem
{
public string DisplayText { get; set; }
public bool Enabled { get; set; }
}
ViewModel
public class MyViewModel : INotifyPropertyChanged
{
private ObservableCollection<MyItem> _myItems = new ObservableCollection<MyItem>();
public ObservableCollection<MyItem> MyItems
{
get { return _myItems; }
set
{
_myItems = value
NotifyPropertyChanged(this, "MyItems");
}
}
}
View
<Grid x:Name="LayoutRoot" Background="White">
<StackPanel ItemsSource="{Binding MyItems}">
<StackPanel Orientation="Horizontal">
<CheckBox "{Binding Enabled, Mode=TwoWay}"></CheckBox>
<TextBlock Text="{Binding DisplayText, Mode=TwoWay}" />
</StackPanel>
</StackPanel>
</Grid>
Итак, моей конечной целью было бы, чтобы каждый раз, когда я добавлял еще одну MyItem
в коллекцию MyItems
, он создавал новую StackPanel с флажком и текстовым блоком. Мне не нужно использовать панель стека, но я просто решил использовать ее для этого примера.