ItemsControl中的项目可以成为绑定的目标吗?

时间:2015-06-24 14:36:16

标签: wpf

在下面的代码中,我希望第二个项目绑定到我的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));

}

1 个答案:

答案 0 :(得分:1)

这个问题是对这里提出的问题的更简洁的陈述:

How do I write this ItemsControl so WPF will use bindings to generate columns for the output grid

见上文的答案。