首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ListView RowDetailsTemplate

ListView RowDetailsTemplate
EN

Stack Overflow用户
提问于 2016-10-11 07:26:52
回答 1查看 1.5K关注 0票数 0

如何使RowDetailsTemplateDatagrid一样在ListView中实现

我设想在网格底部添加一个包含行详细信息的块:

代码语言:javascript
复制
    <ListView
        Grid.Row="1"
        x:Name="listView"
        VirtualizingStackPanel.IsVirtualizing="True"
        VirtualizingStackPanel.VirtualizationMode="Recycling"
        ScrollViewer.IsDeferredScrollingEnabled="True"
        dz:GridViewSort.AutoSort="True"
        dz:VirtualListLoadingIndicator.IsAttached="True" Margin="0,0,0,-15"
        ItemsSource="{Binding ListeArticles}" Grid.RowSpan="2">
        <ListView.View>
            <GridView ColumnHeaderTemplate="{StaticResource ListViewColumnHeaderTemplate}">
                <GridViewColumn Width="60" DisplayMemberBinding="{Binding Data.Article.ART_NUM}" Header="Reference" dz:GridViewSort.PropertyName="Article.ART_NUM" />
                <GridViewColumn Width="120" DisplayMemberBinding="{Binding Data.Article.ART_LIB}" Header="Designation" dz:GridViewSort.PropertyName="Article.ART_LIB" />
                <GridViewColumn Width="120" DisplayMemberBinding="{Binding Data.Article.ART_PRIX}" Header="Prix" dz:GridViewSort.PropertyName="Article.ART_PRIX" />
            </GridView>
        </ListView.View>
    </ListView>
    <StackPanel Grid.Row="2">
        <TextBlock Text="{Binding Data.Article.STOCK}" />
        <TextBlock Text="{Binding Data.Article.SOMETHINGELSE}"/>
    </StackPanel>

但是如何将行数据传递给堆栈面板内容呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-11 07:42:52

为什么不在选定行时使用SelectedArticle,然后将StackPanel绑定到此SelectedArticle数据:

1.选定条款:

代码语言:javascript
复制
    public Article SelectedArticle
    {
        get
        {
            return _selectedArticle;
        }
        set
        {
            _selectedArticle = value;
            OnPropertyChanged("SelectedArticle");       
        }
    }

2.Xaml:

代码语言:javascript
复制
   <Grid >
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
    </Grid.RowDefinitions>
    <ListView
    Grid.Row="0"
    x:Name="listView"
    VirtualizingStackPanel.IsVirtualizing="True"
    VirtualizingStackPanel.VirtualizationMode="Recycling"
    ScrollViewer.IsDeferredScrollingEnabled="True"
    ItemsSource="{Binding ListeArticles}" SelectedItem="{Binding SelectedArticle}">
        <ListView.View>
            <GridView >
                <GridViewColumn Width="60" DisplayMemberBinding="{Binding ART_NUM}" Header="Reference"  />
                <GridViewColumn Width="120" DisplayMemberBinding="{Binding ART_LIB}" Header="Designation" />
                <GridViewColumn Width="120" DisplayMemberBinding="{Binding ART_PRIX}" Header="Prix" />
            </GridView>
        </ListView.View>
    </ListView>
    <StackPanel Grid.Row="1">
        <TextBlock Text="{Binding SelectedArticle.STOCK}" />
        <TextBlock Text="{Binding SelectedArticle.SOMETHINGELSE}"/>
    </StackPanel>
</Grid>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39972282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档