在下面的代码中,我希望第二个项目绑定到我的viewmodel上的属性。 我该如何做到这一点?我不想在代码中创建列表或ObservableCollection。
<ItemsControl>
<ItemsControl.Items>
<local:InfoTableItem Data="Hi there!"/>
<local:InfoTableItem Data="{Binding MyProperty}"/>
</ItemsControl.Items>
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Data}"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
public class InfoTableItem : DependencyObject
{
public string Data
{
get { return (string)GetValue(DataProperty); }
set { SetValue(DataProperty, value); }
}
public static readonly DependencyProperty DataProperty =
DependencyProperty.Register("Data", typeof(string), typeof(InfoTableItem), new PropertyMetadata(String.Empty));
}
答案 0 :(得分:1)
这个问题是对这里提出的问题的更简洁的陈述:
How do I write this ItemsControl so WPF will use bindings to generate columns for the output grid
见上文的答案。