绑定用户控件内LongListSelector与当前项目(Binding user control

2019-10-21 03:22发布

这是我在做什么。

UserControl.xaml

<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">
    <phone:LongListSelector
        Name="MainList"
        ItemsSource="{Binding}">
        <phone:LongListSelector.ItemTemplate>
            <DataTemplate>
                <StackPanel>
                <views:PostView
                    DataContext="{Binding ElementName=MainList, Path=ItemsSource}">
                </views:PostView>
                </StackPanel>
            </DataPanel>

我希望我的内部控制PostView与当前的ItemsSource元素的性质的约束。 但是,发生了什么是,说我有设定为5个的ItemsSource对象的名单,在我的每一个元素Post视图得到5个值。

所以我得到的,而不是1月25日PostViews初始化,5元的ItemsSource对象。

这里是我的PostView.xaml是它帮助

PostView.xaml

<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneBackgroundBrush}">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
    </Grid.RowDefinitions>
    <ItemsControl
        ItemsSource="{Binding}">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <StackPanel>
                    <TextBlock Text="{Binding Path=User.Username, Mode=OneWay}" />
                </StackPanel>

用户在模型中,我绑定到一个对象的属性。 我怎样才能解决这个问题?

Answer 1:

您结合,而不只是一个项目的用户控制整个集合。 相反,如果DataContext="{Binding ElementName=MainList, Path=ItemsSource}"只是使用DataContext="{Binding ElementName=MainList, Path=SelectedItem}"或只是DataContext="{Binding}"应该工作。



Answer 2:

帮助了从这个职位设置为我的数据的相关性字段中PostView.xaml.cs和设置它UserControl.xaml



文章来源: Binding user control inside LongListSelector with current Item