TreeListView.RowDetailsTemplate 新的每一行

Posted

技术标签:

【中文标题】TreeListView.RowDetailsTemplate 新的每一行【英文标题】:TreeListView.RowDetailsTemplate new for each row 【发布时间】:2014-07-22 06:49:05 【问题描述】:

我接近我的解决方案,但我无法弄清楚我的最后一步。 我在 RadTreeListView 中的每一行都有一个 RowDetailsTemplate。 我的问题是我可以弄清楚如何绑定它。我将它绑定到 CurrentSelected 但现在每次我单击另一行时,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】:

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

Value="Binding Number" 

会成功的

【讨论】:

以上是关于TreeListView.RowDetailsTemplate 新的每一行的主要内容,如果未能解决你的问题,请参考以下文章