silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了silverlight – WP7:更改所选列表框项目中项目的可见性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有一个列表框,其中定义了以下数据模板: <DataTemplate x:Name="myTemplate"> <StackPanel> <TextBlock Name="textblock1" Text="{Binding NamE}" /> <TextBlock Name="textblock2" Text="{Binding SurNamE}" />
我有一个列表框,其中定义了以下数据模板:

<DataTemplate x:Name="myTemplate">
    <StackPanel>
        <TextBlock Name="textblock1" Text="{Binding NamE}" />
        <TextBlock Name="textblock2" Text="{Binding SurNamE}" />
        <StackPanel Name="exTrainfo" Visibility="Collapsed">
            <TextBlock Name="textblock3" Text="{Binding Address}" />
            <TextBlock Name="textblock4" Text="{Binding PhonE}" />
            <TextBlock Name="textblock5" Text="{Binding Email}" />
        </StackPanel>
    </StackPanel>
</DataTemplate>

列表框:

<ListBox Name="myListBox" ItemTemplate="{Staticresource myTemplatE}" Itemssource="{Binding UserList}" />

问题如下;当用户选择列表框中的项目时,我想通过将stackpanel的可见性设置为可见来显示其他信息.

任何想法是如何实现这一点(通过xaml或c#)?我试图改变故事板,但我没有采用这种方法.

解决方法

创建一个ItemContainerStyle,它具有认的ContentControl以显示ItemTemplate的内容,但也具有使用Visibility设置为Collapsed定义的详细信息内容.然后,更新“SELEcted”VisualState,以便将详细信息面板的Visibility设置为Visible:

<VisualState x:Name="SELEcted">
    <Storyboard>
       <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground"
                                      Storyboard.TargetName="ContentContainer">
               <DiscreteObjectKeyFrame KeyTime="0" Value="{Staticresource PhoneAccentBrush}"/>
       </ObjectAnimationUsingKeyFrames>
       <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility"
                                      Storyboard.TargetName="Details">
               <DiscreteObjectKeyFrame KeyTime="0" Value="Visibile"/>
       </ObjectAnimationUsingKeyFrames>
    </Storyboard>
</VisualState>
...
<StackPanel>
    <ContentControl 
        x:Name="ContentContainer" 
        ContentTemplate="{TemplateBinding ContentTemplatE}" 
        Content="{TemplateBinding Content}" Foreground="{TemplateBinding ForegrounD}" 
        HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" 
        Margin="{TemplateBinding Padding}" 
        VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
    <Grid x:Name="Details">
        <!-- Put the content of your details panel here. -->
    </Grid>
</StackPanel>

大佬总结

以上是大佬教程为你收集整理的silverlight – WP7:更改所选列表框项目中项目的可见性全部内容,希望文章能够帮你解决silverlight – WP7:更改所选列表框项目中项目的可见性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。