我正在使用MVVMM Light WPF,我想要执行以下操作:动态生成文本框并将它们绑定到类的属性。
我已经有了以下内容,但在运行应用程序时,我的视图中没有显示。
这是我的收藏:
private ObservableCollection<Border> _controllekes;
public ObservableCollection<Border> Controllekes
{
get { return _controllekes; }
set
{
_controllekes = value;
RaisePropertyChanged("Controllekes");
}
}
这是我的xaml:
<ItemsControl ItemsSource="{Binding Path=Controllekes}">
</ItemsControl>
这是我填写itemsource“Controllekes”的部分:
Controllekes = new ObservableCollection<Border>();
Border border = new Border();
border.BorderThickness = new System.Windows.Thickness(5);
border.BorderBrush = Brushes.AliceBlue;
border.Padding = new System.Windows.Thickness(5);
TextBlock tb = new TextBlock();
tb.Background = Brushes.Red;
Binding nameTextBinding = new Binding("Controllekes");
nameTextBinding.Path = new System.Windows.PropertyPath(this.Dossier.Omschrijving);
nameTextBinding.Mode = BindingMode.OneWay;
//nameTextBinding.Source = this.Dossier.Omschrijving;
tb.SetBinding(TextBlock.TextProperty, nameTextBinding);
border.Child = tb;
this.Controllekes.Add(border);
它的作用是在此边框中创建一个边框,其中应该发生绑定。我想把这个属性捆绑起来.Dossier.Omschrijving(档案就是班级)。如果我只是在文本框中输入一个字符串就可以了。
在运行时生成边框但文本块仍为空。对象Dossier.Omschrijving包含信息。
我做错了什么?
修改:
安全让我朝着正确的方向前进,ItemsControl with multiple DataTemplates for a viewmodel的答案让我完成了这项工作:)
答案 0 :(得分:0)
通过所有这些并使用ItemTemplate
<ItemsControl x:Name="ic">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<CheckBox IsChecked="{Binding yourboolProperty}"/>
<TextBlock Background="Red" Text="{Binding yourStringProperty}"></TextBlock>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
并将ic
的ItemsSource设置为List