WP8.1 模仿手机通讯记录的选择框

模仿WP8.1 通讯记录的ChenkBox的方式

这个是我写出来的效果

首先得有两套DataTemplate,一套是没开启ChenkBox,一套是开启的ChenkBox的  当然还有绑定的资源,这个随意啦

 <DataTemplate x:Key="LvItem1" >开启ChenkBox
            <Grid x:Name="The_Fast_Gird"  Width="{Binding DataWidth}" Height="140">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="18*"  />
                    <ColumnDefinition Width="217*"/>
                </Grid.ColumnDefinitions>
                <Grid x:Name="The_Fast_Gird_InGird"  Grid.Column="1" >
                    <Grid.Resources>
                        <Storyboard x:Name="ListView_Word_Start">
                            <DoubleAnimation From="1" To="0" Duration="0:0:0.2" AutoReverse="False" EnableDependentAnimation="True" Storyboard.TargetName="The_Chenkbox_Storyboard_Border" Storyboard.TargetProperty="Opacity"/>
                        </Storyboard>
                    </Grid.Resources>
                    <Border Background="Transparent" >
                        <FlyoutBase.AttachedFlyout>
                            <MenuFlyout>
                                <MenuFlyoutItem Text="删除" />
                            </MenuFlyout>
                        </FlyoutBase.AttachedFlyout>
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="9*"/>
                                <RowDefinition Height="19*"/>
                            </Grid.RowDefinitions>
                            <Border >
                                <TextBlock Text="{Binding DataName}" FontSize="30"/>
                            </Border>
                            <Border Grid.Row="1">
                                <TextBlock FontSize="20" TextWrapping="Wrap"  Text="嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻详详细细ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss"/>
                            </Border>
                        </Grid>
                    </Border>
                </Grid>
                <Grid x:Name="The_Gird_InLeftGird"  Tapped="The_Gird_InLeftGird_Tapped">
                    <Border  x:Name="The_Chenkbox_Storyboard_Border" Background="Transparent" >

                    </Border>
                    <Border x:Name="The_Chenkbox_Border" Visibility="Visible">
                        <CheckBox x:Name="The_Grid_ChenkBox"   IsThreeState="False"/>
                    </Border>

                </Grid>
            </Grid>
        </DataTemplate>
        <DataTemplate x:Key="LvItem" >//未开启的ChenkBox
            <Grid x:Name="The_Fast_Gird" Holding="The_Fast_Gird_Holding"  Width="{Binding DataWidth}" Height="140">
                <FlyoutBase.AttachedFlyout>
                    <MenuFlyout>
                        <MenuFlyoutItem Text="删除" />
                    </MenuFlyout>
                </FlyoutBase.AttachedFlyout>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="10*"  />
                    <ColumnDefinition Width="217*"/>
                </Grid.ColumnDefinitions>
                <Grid x:Name="The_Fast_Gird_InGird"  Grid.Column="1" >
                    <Grid.Resources>
                        <Storyboard x:Name="ListView_Word_Start">///渐进动画
                            <DoubleAnimation From="1" To="0" Duration="0:0:0.2" AutoReverse="False" EnableDependentAnimation="True" Storyboard.TargetName="The_Chenkbox_Storyboard_Border" Storyboard.TargetProperty="Opacity"/>
                        </Storyboard>
                    </Grid.Resources>
                    <Border Background="Transparent" >

                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="9*"/>
                                <RowDefinition Height="19*"/>
                            </Grid.RowDefinitions>
                            <Border >
                                <TextBlock Text="{Binding DataName}" FontSize="30"/>
                            </Border>
                            <Border Grid.Row="1">
                                <TextBlock FontSize="20" TextWrapping="Wrap"  Text="嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻详详细细ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss"/>
                            </Border>
                        </Grid>
                    </Border>
                </Grid>
                <Grid x:Name="The_Gird_InLeftGird"  Tapped="The_Gird_InLeftGird_Tapped">
                    <Border  x:Name="The_Chenkbox_Storyboard_Border" Background="Transparent" >///变色用的Border

                    </Border>
                    <Border x:Name="The_Chenkbox_Border" Visibility="Collapsed">
                        <CheckBox x:Name="The_Grid_ChenkBox"   IsThreeState="False"/>
                    </Border>

                </Grid>
            </Grid>
        </DataTemplate>

之后内,这其中未开启的ChenkBox的模板中,有动画,也有一个渐变色的Border。然后加上一个Tapped事件就OK了

    private async  void The_Gird_InLeftGird_Tapped(object sender, TappedRoutedEventArgs e)
        {
               ItemShowChenkBox_Nub++;//计数器
               if (ItemShowChenkBox_Nub == 2)//第二次按下的时候 换回没有开启ChenkBox的模板
               {
                   var DataCount = await GetSaveWord.GetData();
                   for (int i = 0; i < DataCount.Count; i++)
                   {
                       var Getlistview_Item = PivotItem_Listview.ContainerFromItem(PivotItem_Listview.Items.ElementAt(i)) as ListViewItem;
                       Getlistview_Item.ContentTemplate = this.Resources["LvItem"] as DataTemplate;
                   }
                   ItemShowChenkBox_Nub = 0;
               }
               if (ItemShowChenkBox_Nub == 1)
               {
                   ItemLeftGird = ((Grid)sender) as Grid;
                   ItemColorBorder = ItemLeftGird.FindName("The_Chenkbox_Storyboard_Border") as Border;
                   ItemGird = ItemLeftGird.FindName("The_Fast_Gird") as Grid;
                   ItemLeftStoryboard = ItemLeftGird.FindName("ListView_Word_Start") as Storyboard;
                   ItemChenkBoxBorder = ItemLeftGird.FindName("The_Chenkbox_Border") as Border;
                   ItemColorBorder.Background = new SolidColorBrush(Colors.Green);//变色
                   var grid_cd = ItemGird.ColumnDefinitions;//更改列表的宽度
                   var the_get_CD = grid_cd.ElementAt(0);
                   the_get_CD.Width = new GridLength(18, GridUnitType.Star);
                   ItemLeftStoryboard.Begin();//开启动画
                   ItemLeftStoryboard.Completed += ItemLeftStoryboard_Completed;
               }

           }

    async   void ItemLeftStoryboard_Completed(object sender, object e)
        {
            ItemChenkBoxBorder.Visibility = Visibility.Visible;//开启隐藏的ChenkBOX
            ItemColorBorder.Visibility = Visibility.Collapsed;
            var DataCount = await GetSaveWord.GetData();
            for (int i = 0; i < DataCount.Count; i++)
            {
                var Getlistview_Item = PivotItem_Listview.ContainerFromItem(PivotItem_Listview.Items.ElementAt(i)) as ListViewItem;//获取每一个ListViewItem
                Getlistview_Item.ContentTemplate = this.Resources["LvItem1"] as DataTemplate;//更换模板
            }

        }
时间: 2024-08-29 08:26:13

WP8.1 模仿手机通讯记录的选择框的相关文章

[转]仿91助手的PC与android手机通讯

仿91助手的PC与android手机通讯 原文 知道91助手和豌豆莢吧? 说到这两个东西,最让人好奇的应该是就是和手机的交互了.我之前有研究过电脑和安卓的交互,基本功能已经走通了,在这里我想分享一下. 初初看这个问题觉得很简单,然后如果你有点计算机基础的话深入想一下却发现有很多实现上的空白. ---------------------------------------------------------上面是废话,进入正题. 检测设备插入 检测是否是手机 检测是否已经安装驱动 自动安装手机驱动

如果手机通话记录误删了该怎么恢复呢

手机通话记录可以恢复吗?在信息化时代的今天,我们会发现手机上的很多功能在不断完善.手机功能的完善会帮助我们更好的去使用手机,手机通话记录在一定程度上记录了你的一天行程.在上面可以查看到通话记录信息.可是如果重要的通话记录误删了该怎么恢复呢?怎样才能恢复手机通话记录呢?下面给小编来介绍一下恢复手机通话记录的方法吧.开始操作:第一步:为了恢复手机里被删除的通话记录,我们需要打开手机应用商店或者是浏览器下载"极速数据恢复"到手机中.第二步:接下来打开这款恢复工具,选择界面里有八大恢复功能类型

安卓手机通话记录删了还能恢复吗

安卓手机通话记录删了还能恢复吗?我们在平常的时候,经常会因为自己的一些失误操作导致我们的通话记录被删除,其实被删除之后,我们有的时候根本就不担心,因为是可以通过一些方法找回的.若是使用的方法都没有找回通话记录该怎么办呢?下面小编就给大家分享一个找回通话记录的新办法.步骤一:我们可以在手机应用商城或是手机浏览器查找"极速数据恢复"工具,下载并安装在手机上.步骤二:打开恢复工具,我们就可以看到手机界面出现的几大恢复功能选项,选择"通话记录恢复"功能就可以了.步骤三:这时

手机通话记录恢复?具体恢复方法

手机通话记录恢复?恢复的具体方法.现在的你是不是也很少使用我们的手机通话记录去和别人交流,但是有些时候呢,我们的手机上还是会出现一些手机通话记录,这些记录有的时候,我们没有进行保存可能就被我们误删了. 那么我们删除我们的手机通话记录之后,我们该怎么去恢复我们的手机通话记录呢?若是我们不小心删除了我们的手机通话记录,自己又没有进行过任何备份的话,我们也是可以选择使用其他的方法去恢复的,下面就一起看看吧. 1.选择在过程开始之前需要我们在电脑上浏览器上下载安装"互盾安卓恢复大师",安装结束

手机微信记录删除怎么恢复

手机微信记录删除怎么恢复?不知道你也是不是经常的使用我们的手机微信去进行一些日常的交流,或者是工作上的沟通?相信有不少的人都是喜欢使用我们的微信去进行交流的,那么若是我们不小心将手机微信记录删除了怎么恢复呢?若是你不会的话,不用担心,我们一起试试下面的办法找回吧. 方法一:使用微信自带的修复功能去恢复 若是我们发现我们的手机微信记录被我们删除了,我们若是有备份的话,我们每个人都会还原,那么若是没有备份的话,我们不用着急,我们可以选择使用微信自带的修复功能,在我中找到设置,然后找到帮助与反馈,然后

《屏幕上的聪明决策》:4星。人类在手机/电脑上做选择的心理学研究的综述。不流畅的文本有助于理解和记忆,淘汰赛制可以有效降低选择后懊悔。

本书是人类在手机/电脑上做选择的心理学研究的综述,比较可信,有许多有趣的事实与结论.比较重要的结论有这么几个:1:人类对网站.文章的判断很大程度上以来瞬间感知和审美:2:不流畅的文本有助于理解和记忆:3:可选项太多的情况下,可以考虑淘汰赛制,每次让用户从4个选项中选择一个最满意的.这样可以有效降低选择后懊悔. 总体评价4星. 以下是书中一些重要的结论与信息的摘抄,#号后面是kindle电子书中的页码: 1:人的注意力已经成为“21世纪的低硫原油”.如果可以控制人类注意力的杠杆,那么你几乎可以获取

模仿手机支付宝界面

模仿手机支付宝界面 功能分类:其他         支持平台:iOS      运行环境:iOS 开发语言:Object-c  开发工具:Xcode   源码大小:455.66KB 下载地址: http://www.dwz.cn/x9vZl 源码简介 动态显示aplashimage,控制手势密码,TabbarController与navigationController结合使用,定制tableViewController,自定义UIButton. 源码运行截图

求给出个PLC与手机通讯的解决方案

①我这里需要通过PLC与手机通讯的解决方案,PLC能发短信吗? ②我们这边是这样的哈,我们需要那么一个设备,由PLC 给它一个开关量信号,它就能给几个固定的手机发短信,你们那有这样的设备吗? ③我们想在我们产品上加上你们的产品,达到监控我们产品的效果,一个是设备状态监控,二个是开关机的控制,全国各地都有,直接和PLC连接就可以了吧?

恢复手机通话记录原来如此简单

平时我们在进行手机清理时可能会将一些需要用到的通话记录删除,这该怎么办呢?若是不小心删除了通话记录,可以通过恢复工具来找回,下面是具体的操作方法,来看看.如何找回手机通话记录?具体的操作步骤如下:第一步:在手机的软件管理市场或者浏览器中,搜索并查找"极速数据恢复"工具,这款工具可以恢复手机误删的通话记录,安装工具之后,按照相关步骤进行操作.第二步:点击打开已经安装好的恢复工具,进入界面点击"通话记录恢复"版块进入,它就会对手机的数据进行扫描.第三步:系统进入扫描阶段