zoukankan      html  css  js  c++  java
  • WP8.1 模仿手机通讯记录的选择框

    2016年11月6日 更新:

    其实 这个有一个非常简单的方法.非常简单...

    ListView SelectionMode="Multiple"

    这个一XAML  代码就可以解决了..

    制作侧边点击效果也是和上一个一样的,等我找时间 弄一下

     建议使用ItemsControl作为列表,使用ListView的时候,ListView的方法ContainerFromItem会在当数据超出15的时候出现错误  实在是没招使用了ItemsControl外套上ScrollViewer就可以了,然后将所有的For循环替换模板的方法直接变成 PivotItem_Listview.ItemTemplate = this.Resources["LvItem"] as DataTemplate;   或者

     PivotItem_Listview.ItemTemplate = this.Resources["LvItem1"] as DataTemplate;   就可以了

    好吧 我承认 突然之间原现那个又可以了..不要问我为什么 我也不知道

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

    这个是我写出来的效果

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

       <FontFamily x:Key="ContentControlThemeFontFamily">Segoe WP</FontFamily>
            <x:Double x:Key="ControlContentThemeFontSize">12</x:Double>
            <Thickness x:Key="ListViewItemMargin">0</Thickness>
            <SolidColorBrush x:Key="CheckBoxBackgroundThemeBrush" Color="Transparent"/>
            <x:Double x:Key="CheckBoxBorderThemeThickness">2.5</x:Double>
            <x:Double x:Key="ListViewItemContentOffsetX">-40.5</x:Double>
            <Thickness x:Key="ListViewItemMultiselectCheckBoxMargin">0,9.5,0,0</Thickness>
            <Thickness x:Key="GridViewItemMultiselectBorderThickness">2.5</Thickness>
            <x:Double x:Key="ListViewItemDisabledThemeOpacity">0.4</x:Double>
            <x:Double x:Key="ListViewItemContentTranslateX">40.5</x:Double>
            <x:Double x:Key="ListViewItemReorderHintThemeOffset">32</x:Double>
            <Style x:Key="ListViewItemStyle1" TargetType="ListViewItem">
                <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}"/>
                <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}"/>
                <Setter Property="Background" Value="Transparent"/>
                <Setter Property="TabNavigation" Value="Local"/>
                <Setter Property="IsHoldingEnabled" Value="False"/>
                <Setter Property="Margin" Value="{ThemeResource ListViewItemMargin}"/>
                <Setter Property="HorizontalContentAlignment" Value="Left"/>
                <Setter Property="VerticalContentAlignment" Value="Top"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="ListViewItem">
                            <Border x:Name="OuterContainer" RenderTransformOrigin="0.5,0.5">
                                <Border.RenderTransform>
                                    <ScaleTransform x:Name="ContentScaleTransform"/>
                                </Border.RenderTransform>
                                <VisualStateManager.VisualStateGroups>
                                    <VisualStateGroup x:Name="CommonStates">
                                        <VisualStateGroup.Transitions>
                                            <VisualTransition From="Pressed" To="Normal">
                                                <Storyboard>
                                                    <PointerUpThemeAnimation Storyboard.TargetName="TiltContainer"/>
                                                </Storyboard>
                                            </VisualTransition>
                                        </VisualStateGroup.Transitions>
                                        <VisualState x:Name="Normal"/>
                                        <VisualState x:Name="Pressed">
                                            <!--<Storyboard>
                                                <PointerDownThemeAnimation Storyboard.TargetName="TiltContainer"/>
                                            </Storyboard>-->
                                        </VisualState>
                                        <VisualState x:Name="CheckboxPressed">
                                            <Storyboard>
                                                <PointerDownThemeAnimation Storyboard.TargetName="CheckboxTiltContainer"/>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="NormalRectangle">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource CheckBoxPressedBackgroundThemeBrush}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="CheckGlyph">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource CheckBoxPressedForegroundThemeBrush}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="Disabled">
                                            <Storyboard>
                                                <DoubleAnimation Duration="0" To="{ThemeResource ListViewItemDisabledThemeOpacity}" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="contentPresenter"/>
                                                <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="Stroke" Storyboard.TargetName="NormalRectangle">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource CheckBoxDisabledBorderThemeBrush}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="Fill" Storyboard.TargetName="CheckGlyph">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource CheckBoxDisabledForegroundThemeBrush}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="SelectedBorder">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="Fill" Storyboard.TargetName="SelectedEarmark">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="Fill" Storyboard.TargetName="SelectedGlyph">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup>
                                    <VisualStateGroup x:Name="SelectionStates">
                                        <VisualState x:Name="Unselected"/>
                                        <VisualState x:Name="Selected">
                                            <Storyboard>
                                                <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="CheckGlyph"/>
                                                <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedCheckMark"/>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="SelectedUnfocused">
                                            <Storyboard>
                                                <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="CheckGlyph"/>
                                                <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedCheckMark"/>
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup>
                                    <VisualStateGroup x:Name="DataVirtualizationStates">
                                        <VisualState x:Name="DataAvailable"/>
                                        <VisualState x:Name="DataPlaceholder">
                                            <Storyboard>
                                                <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PlaceholderTextBlock">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PlaceholderRect">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup>
                                    <VisualStateGroup x:Name="MultiSelectStates">
                                        <VisualStateGroup.Transitions>
                                            <VisualTransition From="ListMultiSelect" GeneratedDuration="0:0:0.15" To="NoMultiSelect"/>
                                            <VisualTransition From="NoMultiSelect" GeneratedDuration="0:0:0.15" To="ListMultiSelect"/>
                                        </VisualStateGroup.Transitions>
                                        <VisualState x:Name="NoMultiSelect"/>
                                        <VisualState x:Name="ListMultiSelect">
                                            <Storyboard>
                                                <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="X" Storyboard.TargetName="CheckboxContainerTranslateTransform"/>
                                                <DoubleAnimation Duration="0" To="{ThemeResource ListViewItemContentTranslateX}" Storyboard.TargetProperty="X" Storyboard.TargetName="ContentBorderTranslateTransform"/>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="GridMultiSelect">
                                            <Storyboard>
                                                <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedBorder"/>
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup>
                                    <VisualStateGroup x:Name="ReorderModeStates">
                                        <VisualStateGroup.Transitions>
                                            <VisualTransition From="ReorderEnabled" GeneratedDuration="00:00:00.2" To="ReorderDisabled"/>
                                        </VisualStateGroup.Transitions>
                                        <VisualState x:Name="ReorderEnabled">
                                            <Storyboard>
                                                <DropTargetItemThemeAnimation Storyboard.TargetName="OuterContainer"/>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="Reorderable">
                                            <Storyboard>
                                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="ScaleX" Storyboard.TargetName="ContentScaleTransform">
                                                    <LinearDoubleKeyFrame KeyTime="00:00:00.075" Value="1.05"/>
                                                    <LinearDoubleKeyFrame KeyTime="00:00:00.2" Value="1.0"/>
                                                </DoubleAnimationUsingKeyFrames>
                                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="ScaleY" Storyboard.TargetName="ContentScaleTransform">
                                                    <LinearDoubleKeyFrame KeyTime="00:00:00.075" Value="1.05"/>
                                                    <LinearDoubleKeyFrame KeyTime="00:00:00.2" Value="1.0"/>
                                                </DoubleAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="ReorderDisabled"/>
                                    </VisualStateGroup>
                                    <VisualStateGroup x:Name="ReorderHintStates">
                                        <VisualStateGroup.Transitions>
                                            <VisualTransition GeneratedDuration="0:0:0.2" To="NoReorderHint"/>
                                        </VisualStateGroup.Transitions>
                                        <VisualState x:Name="NoReorderHint"/>
                                        <VisualState x:Name="BottomReorderHint">
                                            <Storyboard>
                                                <DragOverThemeAnimation Direction="Bottom" ToOffset="{ThemeResource ListViewItemReorderHintThemeOffset}" Storyboard.TargetName="ReorderHintContent"/>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="RightReorderHint">
                                            <Storyboard>
                                                <DragOverThemeAnimation Direction="Right" ToOffset="{ThemeResource ListViewItemReorderHintThemeOffset}" Storyboard.TargetName="ReorderHintContent"/>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="TopReorderHint">
                                            <Storyboard>
                                                <DragOverThemeAnimation Direction="Top" ToOffset="0" Storyboard.TargetName="ReorderHintContent"/>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="LeftReorderHint">
                                            <Storyboard>
                                                <DragOverThemeAnimation Direction="Left" ToOffset="0" Storyboard.TargetName="ReorderHintContent"/>
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup>
                                </VisualStateManager.VisualStateGroups>
                                <Grid x:Name="ReorderHintContent" Background="Transparent">
                                    <Border x:Name="CheckboxTiltContainer" HorizontalAlignment="Left" Margin="{ThemeResource ListViewItemMultiselectCheckBoxMargin}" VerticalAlignment="Top">
                                        <Border x:Name="CheckboxOuterContainer">
                                            <Border.Clip>
                                                <RectangleGeometry Rect="0,0,25.5,25.5"/>
                                            </Border.Clip>
                                            <Grid x:Name="CheckboxContainer">
                                                <Grid.RenderTransform>
                                                    <TranslateTransform x:Name="CheckboxContainerTranslateTransform" X="{ThemeResource ListViewItemContentOffsetX}"/>
                                                </Grid.RenderTransform>
                                                <Rectangle x:Name="NormalRectangle" Fill="{ThemeResource CheckBoxBackgroundThemeBrush}" Height="25.5" Stroke="{ThemeResource CheckBoxBorderThemeBrush}" StrokeThickness="{ThemeResource CheckBoxBorderThemeThickness}" Width="25.5"/>
                                                <Path x:Name="CheckGlyph" Data="M0,123 L39,93 L124,164 L256,18 L295,49 L124,240 z" Fill="{ThemeResource CheckBoxForegroundThemeBrush}" FlowDirection="LeftToRight" HorizontalAlignment="Center" Height="17" IsHitTestVisible="False" Opacity="0" Stretch="Fill" StrokeThickness="2.5" StrokeLineJoin="Round" VerticalAlignment="Center" Width="18.5"/>
                                            </Grid>
                                        </Border>
                                    </Border>
                                    <Border x:Name="ContentContainer">
                                        <Border x:Name="TiltContainer">
                                            <Border x:Name="ContentBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
                                                <Border.RenderTransform>
                                                    <TranslateTransform x:Name="ContentBorderTranslateTransform"/>
                                                </Border.RenderTransform>
                                                <Grid>
                                                    <ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding ContentTransitions}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                                                    <TextBlock x:Name="PlaceholderTextBlock" AutomationProperties.AccessibilityView="Raw" Foreground="{x:Null}" IsHitTestVisible="False" Margin="{TemplateBinding Padding}" Opacity="0" Text="Xg"/>
                                                    <Rectangle x:Name="PlaceholderRect" Fill="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}" IsHitTestVisible="False" Visibility="Collapsed"/>
                                                </Grid>
                                            </Border>
                                        </Border>
                                    </Border>
                                    <Border x:Name="SelectedBorder" BorderBrush="{ThemeResource ListViewItemSelectedBackgroundThemeBrush}" BorderThickness="{ThemeResource GridViewItemMultiselectBorderThickness}" IsHitTestVisible="False" Opacity="0">
                                        <Grid x:Name="SelectedCheckMark" HorizontalAlignment="Right" Height="34" Opacity="0" VerticalAlignment="Top" Width="34">
                                            <Path x:Name="SelectedEarmark" Data="M0,0 L40,0 L40,40 z" Fill="{ThemeResource ListViewItemSelectedBackgroundThemeBrush}" Stretch="Fill"/>
                                            <Path x:Name="SelectedGlyph" Data="M0,123 L39,93 L124,164 L256,18 L295,49 L124,240 z" Fill="{ThemeResource ListViewItemCheckThemeBrush}" FlowDirection="LeftToRight" HorizontalAlignment="Right" Height="14.5" Margin="0,1,1,0" Stretch="Fill" VerticalAlignment="Top" Width="17"/>
                                        </Grid>
                                    </Border>
                                </Grid>
                            </Border>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <Thickness x:Key="PhoneBorderThickness">2.5</Thickness>
            <x:Double x:Key="TextStyleLargeFontSize">18.14</x:Double>
            <FontFamily x:Key="PhoneFontFamilyNormal">Segoe WP</FontFamily>
            <Thickness x:Key="CheckBoxAndRadioButtonTextPaddingThickness">8,0,0,0</Thickness>
            <x:Double x:Key="CheckBoxAndRadioButtonMinWidthSize">168</x:Double>
            <Thickness x:Key="PhoneTouchTargetLargeOverhang">0,16</Thickness>
            <SolidColorBrush x:Key="CheckBoxDisabledBackgroundThemeBrush" Color="Transparent"/>
            <Style x:Key="CheckBoxStyle1" TargetType="CheckBox">
                <Setter Property="Background" Value="{ThemeResource CheckBoxBackgroundThemeBrush}"/>
                <Setter Property="BorderBrush" Value="{ThemeResource CheckBoxBorderThemeBrush}"/>
                <Setter Property="BorderThickness" Value="{ThemeResource PhoneBorderThickness}"/>
                <Setter Property="FontSize" Value="{ThemeResource TextStyleLargeFontSize}"/>
                <Setter Property="FontFamily" Value="{ThemeResource PhoneFontFamilyNormal}"/>
                <Setter Property="HorizontalContentAlignment" Value="Left"/>
                <Setter Property="VerticalContentAlignment" Value="Top"/>
                <Setter Property="HorizontalAlignment" Value="Left"/>
                <Setter Property="VerticalAlignment" Value="Top"/>
                <Setter Property="Padding" Value="{ThemeResource CheckBoxAndRadioButtonTextPaddingThickness}"/>
                <Setter Property="MinWidth" Value="{ThemeResource CheckBoxAndRadioButtonMinWidthSize}"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="CheckBox">
                            <Grid Background="Transparent">
                                <VisualStateManager.VisualStateGroups>
                                    <VisualStateGroup x:Name="CommonStates">
                                        <VisualStateGroup.Transitions>
                                            <VisualTransition From="Pressed" To="PointerOver">
                                                <Storyboard>
                                                    <PointerUpThemeAnimation Storyboard.TargetName="Grid"/>
                                                </Storyboard>
                                            </VisualTransition>
                                            <VisualTransition From="PointerOver" To="Normal">
                                                <Storyboard>
                                                    <PointerUpThemeAnimation Storyboard.TargetName="Grid"/>
                                                </Storyboard>
                                            </VisualTransition>
                                            <VisualTransition From="Pressed" To="Normal">
                                                <Storyboard>
                                                    <PointerUpThemeAnimation Storyboard.TargetName="Grid"/>
                                                </Storyboard>
                                            </VisualTransition>
                                        </VisualStateGroup.Transitions>
                                        <VisualState x:Name="Normal"/>
                                        <VisualState x:Name="MouseOver"/>
                                        <VisualState x:Name="PointerOver"/>
                                        <VisualState x:Name="Pressed">
                                            <Storyboard>
                                                <PointerDownThemeAnimation Storyboard.TargetName="Grid"/>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="CheckBackground">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource CheckBoxPressedBackgroundThemeBrush}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="CheckGlyph">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource CheckBoxPressedForegroundThemeBrush}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="NormalRectangle">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource CheckBoxPressedBackgroundThemeBrush}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="Disabled">
                                            <Storyboard>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="CheckBackground">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource CheckBoxDisabledBorderThemeBrush}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="CheckGlyph">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource CheckBoxDisabledForegroundThemeBrush}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="NormalRectangle">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource CheckBoxDisabledBackgroundThemeBrush}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource CheckBoxDisabledForegroundThemeBrush}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup>
                                    <VisualStateGroup x:Name="CheckStates">
                                        <VisualState x:Name="Checked">
                                            <Storyboard>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="CheckGlyph">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="Unchecked"/>
                                        <VisualState x:Name="Indeterminate">
                                            <Storyboard>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="NormalRectangle">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup>
                                </VisualStateManager.VisualStateGroups>
                                <Grid x:Name="Grid">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="25.5"/>
                                        <ColumnDefinition Width="*"/>
                                    </Grid.ColumnDefinitions>
                                    <Grid Grid.Column="0" VerticalAlignment="Top">
                                        <Border x:Name="CheckBackground" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" HorizontalAlignment="Left" Height="25.5" IsHitTestVisible="False" VerticalAlignment="Center" Width="25.5"/>
                                        <Rectangle x:Name="NormalRectangle" Fill="{ThemeResource CheckBoxBackgroundThemeBrush}" HorizontalAlignment="Center" Height="13" IsHitTestVisible="False" Visibility="Collapsed" VerticalAlignment="Center" Width="13"/>
                                        <Path x:Name="CheckGlyph" Data="M0,123 L39,93 L124,164 L256,18 L295,49 L124,240 z" Fill="{ThemeResource CheckBoxForegroundThemeBrush}" FlowDirection="LeftToRight" HorizontalAlignment="Center" Height="17" IsHitTestVisible="False" Stretch="Fill" StrokeThickness="2.5" StrokeLineJoin="Round" Visibility="Collapsed" VerticalAlignment="Center" Width="18.5"/>
                                    </Grid>
                                    <ContentPresenter x:Name="ContentPresenter" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Grid.Column="1" Foreground="{TemplateBinding Foreground}" FontWeight="Normal" FontSize="{ThemeResource TextStyleLargeFontSize}" FontFamily="{ThemeResource PhoneFontFamilyNormal}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                                </Grid>
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <DataTemplate x:Key="LvItem1" >
                <!--<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="{Binding DataWord}"/>
                                </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" Tapped="The_Gird_InLeftGird_Tapped" Visibility="Visible">
    
                        </Border>
                        <CheckBox x:Name="The_Grid_ChenkBox"   IsThreeState="False"/>
                    </Grid>
                </Grid>-->
                <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="{Binding DataWord}"/>
                                </Border>
                            </Grid>
                        </Border>
                    </Grid>
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="27*"/>
                            <RowDefinition Height="113*"/>
                        </Grid.RowDefinitions>
                        <CheckBox x:Name="The_Grid_ChenkBox"   IsThreeState="False"   Style="{StaticResource CheckBoxStyle1}"   />
                        <Grid x:Name="The_Gird_InLeftGird" Grid.Row="1"  Tapped="The_Gird_InLeftGird_Tapped">
                            <Border Grid.RowSpan="2"  x:Name="The_Chenkbox_Storyboard_Border" Background="Transparent" >
    
                            </Border>
                            <Border    x:Name="The_Chenkbox_Border"  Visibility="Visible">
    
                            </Border>
                        </Grid>
                    </Grid>
                </Grid>
            </DataTemplate>
            <DataTemplate x:Key="LvItem" >
                <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.5" 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="{Binding DataWord}"/>
                                </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="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 == 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();//开启动画
                       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;//更换模板
                       }
                   

                        for (int i = 0; i < PivotItem_Listview.Items.Count; i++)
                             {
                        var Getlistview_Item = PivotItem_Listview.ContainerFromItem(PivotItem_Listview.Items.ElementAt(i)) as ListViewItem;//获取每一个ListViewItem
                      Getlistview_Item.ContentTemplate = this.Resources["LvItem1"] as DataTemplate;//更换模板
                            }

    
                       ItemLeftStoryboard.Completed += ItemLeftStoryboard_Completed;
                   }
                   if (ItemShowChenkBox_Nub == 2 )//第二次按下的时候 换回没有开启ChenkBox的模板
                   {
                       var DataCount = await GetSaveWord.GetData();
                       

    for (int i = 0; i < PivotItem_Listview.Items.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; } } void ItemLeftStoryboard_Completed(object sender, object e) { // ItemChenkBoxBorder.Visibility = Visibility.Visible;//开启隐藏的ChenkBOX ItemColorBorder.Visibility = Visibility.Collapsed; }
  • 相关阅读:
    HDU 5492 Find a path
    codeforce gym 100548H The Problem to Make You Happy
    Topcoder SRM 144 Lottery
    codeforce 165E Compatible Numbers
    codeforce gym 100307H Hack Protection
    区间DP总结
    UESTC 1321 柱爷的恋爱 (区间DP)
    HDU 4283 You Are the One (区间DP)
    HDU 2476 String painter (区间DP)
    UESTC 426 Food Delivery (区间DP)
  • 原文地址:https://www.cnblogs.com/T-ARF/p/5903389.html
Copyright © 2011-2022 走看看