每行的TreeListView.RowDetailsTemplate都是新的

时间:2014-06-02 07:50:18

标签: wpf xaml binding telerik rowdetailstemplate

我接近我的解决方案,但我无法弄清楚我的最后一步。 我为RadTreeListView中的每一行都有一个RowDetailsTemplate。 我的问题是我可以弄清楚如何绑定它。我将它绑定到CurrentSelected,但现在evrytime我点击另一行RowDetailsTemplate更改的课程。我的XAML很重要,所以我会展示一些例子。

            <RadTreeListView Name="positionenDataGrid"
                                     HierarchyColumnIndex="3"
                                     ItemsSource="{Binding Path=Model.ModelChildList}"
                                  SelectedItem="{Binding Path=CurrenPosition}">
                    <RadTreeListView.ChildTableDefinitions>
                        <TreeListViewTableDefinition ItemsSource="{Binding PositionChildList}" />
                    </RadTreeListView.ChildTableDefinitions>

                    <RadTreeListView.Columns>
                        <columns:CustomToggleButtonColumn x:Name="ExpanderColumn" Header="DetailView" DataMemberBinding="{Binding IsPositionExpanded}" ToggleButtonVisibility="{Binding Path=CanHavePositionen}"/>


                    </RadTreeListView.Columns>
                    <RadTreeListView.RowDetailsTemplate>
                        <DataTemplate>

                            <Views:DetailPositionView HorizontalAlignment="Left" />

                        </DataTemplate>
                    </RadTreeListView.RowDetailsTemplate>
                </RadTreeListView>

DetailPositionView中的绑定示例;:

Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Views:ParentView}}, Path=DataContext.CurrenPosition.Number}"

如果我同时打开两个RowDetailsTemplates,它们具有相同的内容,因为我绑定了SelectedItem。现在的问题是:如何在没有SelectedItem的情况下向每个行提供每个数据?

1 个答案:

答案 0 :(得分:1)

DetailPositionView的DataContext是行数据。所以只是做

Value="{Binding Number}" 

会做的伎俩