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; }
  • 相关阅读:
    【Neo4j cypher命令】 使用
    【Neo4j】 Neo4j数据插入的几种方式总结
    【Ubuntu】 解决 无法获得锁 /var/lib/dpkg/lock-frontend
    【python】win10配置pycharm 关于Error processing line 7 of D:softwaresAnaconda3libsite-packagespywin32.pth 问题的解决
    win10环境配置XShell6.0绿色版
    【python】 Anaconda3配置好后,启动jupyter服务异常的解决方法
    利用python+win32api获取标题对应的窗口句柄id,并且操作为当前活动窗口
    利用python+win32获取windows中任务中所有的窗口标题
    C++核心知识
    C++基础知识
  • 原文地址:https://www.cnblogs.com/T-ARF/p/5903389.html
Copyright © 2011-2022 走看看