如何改变CheckBox和复选框勾在LongListMultiSelector颜色? WP8 [英] How to change the CheckBox and CheckBox tick's color in LongListMultiSelector? WP8
问题描述
是否有可能改变CheckBox和复选框勾在LongListMultiSelector颜色。我试过乔治Nikolaides解决方案,但我不能接近我所需要的。是否有任何其他方式做到这一点?请有人可以在一点点更为详细的解释?如果它是可能的。在此先感谢,
以下是乔治Nikolaides解决方案:
的我可以改变的CheckBox颜色longListMultiSelector? WP8
记得有的xmlns:工具箱
和的xmlns:toolkitPrimitives
像这样定义的:
<预类=郎XAML prettyprint-覆盖>
<电话:的PhoneApplicationPage
的xmlns:工具=CLR的命名空间:Microsoft.Phone.Controls;装配= Microsoft.Phone.Controls.Toolkit
的xmlns:toolkitPrimitives =CLR的命名空间:微软。 Phone.Controls.Primitives;装配= Microsoft.Phone.Controls.Toolkit>
那么这整个烂摊子复制到<电话:PhoneApplicationPage.Resources>
<风格X:键=PhoneButtonBase的TargetType =ButtonBase>
< setter属性=背景值=透明/>
< setter属性=BorderBrushVALUE ={StaticResource的PhoneForegroundBrush}/>
< setter属性=前景VALUE ={StaticResource的PhoneForegroundBrush}/>
< setter属性=了borderThicknessVALUE ={StaticResource的PhoneBorderThickness}/>
< setter属性=的FontFamilyVALUE ={StaticResource的PhoneFontFamilySemiBold}/>
< setter属性=字号VALUE ={StaticResource的PhoneFontSizeMedium}/>
< setter属性=填充VALUE =10,5,10,6/>
< setter属性=模板>
< Setter.Value>
<的ControlTemplate的TargetType =ButtonBase>
<网格背景=透明>
< VisualStateManager.VisualStateGroups>
< VisualStateGroup X:NAME =CommonStates>
<的VisualState X:名称=正常/>
<的VisualState X:NAME =鼠标悬停/>
<的VisualState X:NAME =按下>
<情节提要>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =前景Storyboard.TargetName =ContentContainer>
< DiscreteObjectKeyFrame KeyTime =0值={StaticResource的PhoneButtonBasePressedForegroundBrush}/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =背景Storyboard.TargetName =ButtonBackground>
< DiscreteObjectKeyFrame KeyTime =0值={StaticResource的PhoneAccentBrush}/>
< / ObjectAnimationUsingKeyFrames>
< /故事板>
< /&的VisualState GT;
<的VisualState X:名称=已禁用>
<情节提要>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =前景Storyboard.TargetName =ContentContainer>
< DiscreteObjectKeyFrame KeyTime =0值={StaticResource的PhoneDisabledBrush}/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =BorderBrushStoryboard.TargetName =ButtonBackground>
< DiscreteObjectKeyFrame KeyTime =0值={StaticResource的PhoneDisabledBrush}/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =背景Storyboard.TargetName =ButtonBackground>
< DiscreteObjectKeyFrame KeyTime =0值=透明/>
< / ObjectAnimationUsingKeyFrames>
< /故事板>
< /&的VisualState GT;
< / VisualStateGroup>
< /VisualStateManager.VisualStateGroups>
< BORDER X:NAME =ButtonBackgroundBorderBrush ={TemplateBinding BorderBrush}了borderThickness ={TemplateBinding了borderThickness}后台={TemplateBinding背景}CornerRadius =0利润={StaticResource的PhoneTouchTargetOverhang} >
< ContentControl中X:NAME =ContentContainer的ContentTemplate ={TemplateBinding的ContentTemplate}CONTENT ={TemplateBinding内容}前景={TemplateBinding前景}HorizontalContentAlignment ={TemplateBinding HorizontalContentAlignment}填充={ TemplateBinding填充}VerticalContentAlignment ={TemplateBinding VerticalContentAlignment}/>
< /边框>
< /网格和GT;
< /控件模板>
< /Setter.Value>
< /二传手>
< /样式和GT;
<风格X:键=PhoneRadioButtonCheckBoxBase支持算法FMP ={StaticResource的PhoneButtonBase}的TargetType =切换按钮>
< setter属性=背景VALUE ={StaticResource的PhoneRadioCheckBoxBrush}/>
< setter属性=BorderBrushVALUE ={StaticResource的PhoneRadioCheckBoxBorderBrush}/>
< setter属性=字号VALUE ={StaticResource的PhoneFontSizeMedium}/>
< setter属性=的FontFamilyVALUE ={StaticResource的PhoneFontFamilyNormal}/>
< setter属性=HorizontalContentAlignmentVALUE =左/>
< setter属性=VerticalContentAlignmentVALUE =中心/>
< setter属性=填充VALUE =0/>
< /样式和GT;
<风格X:键=CheckBoxStyle1支持算法FMP ={StaticResource的PhoneRadioButtonCheckBoxBase}的TargetType =复选框>
< setter属性=模板>
< Setter.Value>
<的ControlTemplate的TargetType =复选框>
<网格背景=透明的HorizontalAlignment =左>
< VisualStateManager.VisualStateGroups>
< VisualStateGroup X:NAME =CommonStates>
<的VisualState X:名称=正常/>
<的VisualState X:NAME =鼠标悬停/>
<的VisualState X:NAME =按下>
<情节提要>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =背景Storyboard.TargetName =CheckBackground>
< DiscreteObjectKeyFrame KeyTime =0值={StaticResource的PhoneRadioCheckBoxPressedBrush}/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =填充Storyboard.TargetName =对号>
< DiscreteObjectKeyFrame KeyTime =0值={StaticResource的PhoneButtonBasePressedForegroundBrush}/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =填充Storyboard.TargetName =IndeterminateMark>
< DiscreteObjectKeyFrame KeyTime =0值={StaticResource的PhoneButtonBasePressedForegroundBrush}/>
< / ObjectAnimationUsingKeyFrames>
< /故事板>
< /&的VisualState GT;
<的VisualState X:名称=已禁用>
<情节提要>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =BorderBrushStoryboard.TargetName =CheckBackground>
< DiscreteObjectKeyFrame KeyTime =0值={StaticResource的PhoneDisabledBrush}/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =填充Storyboard.TargetName =对号>
< DiscreteObjectKeyFrame KeyTime =0值={StaticResource的PhoneDisabledBrush}/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =填充Storyboard.TargetName =IndeterminateMark>
< DiscreteObjectKeyFrame KeyTime =0值={StaticResource的PhoneDisabledBrush}/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =前景Storyboard.TargetName =ContentContainer>
< DiscreteObjectKeyFrame KeyTime =0值={StaticResource的PhoneDisabledBrush}/>
< / ObjectAnimationUsingKeyFrames>
< /故事板>
< /&的VisualState GT;
< / VisualStateGroup>
< VisualStateGroup X:NAME =CheckStates>
<的VisualState X:名称=选中>
<情节提要>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =可见性Storyboard.TargetName =对号>
将; DiscreteObjectKeyFrame KeyTime =0>
< DiscreteObjectKeyFrame.Value>
<能见度和GT;可见的LT; /能见度和GT;
< /DiscreteObjectKeyFrame.Value>
< / DiscreteObjectKeyFrame>
< / ObjectAnimationUsingKeyFrames>
< /故事板>
< /&的VisualState GT;
<的VisualState X:NAME =未选中/>
<的VisualState X:NAME =不确定>
<情节提要>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =可见性Storyboard.TargetName =IndeterminateMark>
将; DiscreteObjectKeyFrame KeyTime =0>
< DiscreteObjectKeyFrame.Value>
<能见度和GT;可见的LT; /能见度和GT;
< /DiscreteObjectKeyFrame.Value>
< / DiscreteObjectKeyFrame>
< / ObjectAnimationUsingKeyFrames>
< /故事板>
< /&的VisualState GT;
< / VisualStateGroup>
< /VisualStateManager.VisualStateGroups>
<电网保证金={StaticResource的PhoneTouchTargetLargeOverhang}>
< Grid.ColumnDefinitions>
< ColumnDefinition宽度=32/>
< ColumnDefinition WIDTH =*/>
< /Grid.ColumnDefinitions>
<电网Grid.Column =0VerticalAlignment =评出的>
< BORDER X:NAME =CheckBackgroundBorderBrush ={TemplateBinding BorderBrush}了borderThickness ={StaticResource的PhoneBorderThickness}后台={TemplateBinding背景}的HorizontalAlignment =左身高=32IsHitTestVisible = 假VerticalAlignment =中心宽度=32/>
<矩形X:NAME =IndeterminateMark填充={StaticResource的PhoneRadioCheckBoxCheckBrush}的HorizontalAlignment =中心HEIGHT =16IsHitTestVisible =FALSE能见度=坍塌VerticalAlignment =中心WIDTH = 16/>
<路径X:NAME =对号数据=M0,123 L39,93 L124,164 L256,18 L295,49 L124,240 Z补={TemplateBinding前景}的FlowDirection =LeftToRight的HorizontalAlignment =中心HEIGHT =21IsHitTestVisible =FALSE拉伸=填充StrokeThickness =3StrokeLineJoin =圆能见度=坍塌VerticalAlignment =中心宽度=23/>
< /网格和GT;
< ContentControl中X:NAME =ContentContainer的ContentTemplate ={TemplateBinding的ContentTemplate}CONTENT ={TemplateBinding内容}Grid.Column =1前景={TemplateBinding前景}HorizontalContentAlignment ={TemplateBinding HorizontalContentAlignment}保证金=12,0,0,0填充={TemplateBinding填充}VerticalContentAlignment ={TemplateBinding VerticalContentAlignment}/>
< /网格和GT;
< /网格和GT;
< /控件模板>
< /Setter.Value>
< /二传手>
< /样式和GT;
<风格X:键=LongListMultiSelectorItemListStyle的TargetType =工具箱:LongListMultiSelectorItem>
< setter属性=背景VALUE ={StaticResource的PhoneAccentBrush}/>
< setter属性=模板>
< Setter.Value>
<的ControlTemplate的TargetType =工具箱:LongListMultiSelectorItem>
<电网了minHeight =52>
< Grid.Resources>
< ExponentialEase EasingMode =EaseIn指数=8×:键=ExponentialEaseIn/>
< QuadraticEase EasingMode =EaseOutX:键=QuadraticEaseOut/>
< /Grid.Resources>
< VisualStateManager.VisualStateGroups>
< VisualStateGroup X:NAME =SelectionEnabledStates>
< VisualStateGroup.Transitions>
< VisualTransition X:NAME =ClosedToExposed
从=闭合变为=暴露
GeneratedDuration =0:0:0.30>
<情节提要>
< DoubleAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.Opacity)
Storyboard.TargetName =OuterHintPanel>
< EasingDoubleKeyFrame KeyTime =0:0:0.0VALUE =0.0的easingFunction ={StaticResource的QuadraticEaseOut}/>
< EasingDoubleKeyFrame KeyTime =0:0:0.30VALUE =1.0的easingFunction ={StaticResource的QuadraticEaseOut}/>
< / DoubleAnimationUsingKeyFrames>
< /故事板>
< / VisualTransition>
< VisualTransition X:NAME =ExposedToClosed
从=暴露为了=关闭
GeneratedDuration =0:0:0.30>
<情节提要>
< DoubleAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.Opacity)
Storyboard.TargetName =OuterHintPanel>
< EasingDoubleKeyFrame KeyTime =0:0:0.0VALUE =1.0的easingFunction ={StaticResource的QuadraticEaseOut}/>
< EasingDoubleKeyFrame KeyTime =0:0:0.30VALUE =0.0的easingFunction ={StaticResource的QuadraticEaseOut}/>
< / DoubleAnimationUsingKeyFrames>
< /故事板>
< / VisualTransition>
< VisualTransition X:NAME =ExposedToOpened
从=暴露为了=打开
GeneratedDuration =0:0:0.30>
<情节提要>
< DoubleAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.RenderTransform)(CompositeTransform.TranslateX)。
Storyboard.TargetName =选择框>
< EasingDoubleKeyFrame KeyTime =0:0:0.0VALUE = - 58的easingFunction ={StaticResource的ExponentialEaseIn}/>
< EasingDoubleKeyFrame KeyTime =0:0:0.15VALUE =0的easingFunction ={StaticResource的ExponentialEaseIn}/>
< / DoubleAnimationUsingKeyFrames>
< DoubleAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.RenderTransform)(CompositeTransform.TranslateX)。
Storyboard.TargetName =演示者>
< EasingDoubleKeyFrame KeyTime =0:0:0.0VALUE =24的easingFunction ={StaticResource的ExponentialEaseIn}/>
< EasingDoubleKeyFrame KeyTime =0:0:0.15VALUE =86的easingFunction ={StaticResource的ExponentialEaseIn}/>
< / DoubleAnimationUsingKeyFrames>
< DoubleAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.Opacity)
Storyboard.TargetName =OuterHintPanel>
< EasingDoubleKeyFrame KeyTime =0:0:0.0VALUE =1.0的easingFunction ={StaticResource的QuadraticEaseOut}/>
< EasingDoubleKeyFrame KeyTime =0:0:0.30VALUE =0.0的easingFunction ={StaticResource的QuadraticEaseOut}/>
< / DoubleAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.Visibility)
Storyboard.TargetName =选择框>
< DiscreteObjectKeyFrame KeyTime =0:0:0.0VALUE =可见/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.IsHitTestVisible)
Storyboard.TargetName =OuterHintPanel>
将; DiscreteObjectKeyFrame KeyTime =0:0:0值=假/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.IsHitTestVisible)
Storyboard.TargetName =InnerHintPanel>
将; DiscreteObjectKeyFrame KeyTime =0:0:0值=假/>
< / ObjectAnimationUsingKeyFrames>
< /故事板>
< / VisualTransition>
< VisualTransition X:NAME =ClosedToOpened
从=闭合变为=打开
GeneratedDuration =0:0:0.15>
<情节提要>
< DoubleAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.RenderTransform)(CompositeTransform.TranslateX)。
Storyboard.TargetName =选择框>
< EasingDoubleKeyFrame KeyTime =0:0:0.0VALUE = - 58的easingFunction ={StaticResource的ExponentialEaseIn}/>
< EasingDoubleKeyFrame KeyTime =0:0:0.15VALUE =0的easingFunction ={StaticResource的ExponentialEaseIn}/>
< / DoubleAnimationUsingKeyFrames>
< DoubleAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.RenderTransform)(CompositeTransform.TranslateX)。
Storyboard.TargetName =演示者>
< EasingDoubleKeyFrame KeyTime =0:0:0.0VALUE =24的easingFunction ={StaticResource的ExponentialEaseIn}/>
< EasingDoubleKeyFrame KeyTime =0:0:0.15VALUE =86的easingFunction ={StaticResource的ExponentialEaseIn}/>
< / DoubleAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.Visibility)
Storyboard.TargetName =选择框>
< DiscreteObjectKeyFrame KeyTime =0:0:0.0VALUE =可见/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.IsHitTestVisible)
Storyboard.TargetName =OuterHintPanel>
将; DiscreteObjectKeyFrame KeyTime =0:0:0值=假/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.IsHitTestVisible)
Storyboard.TargetName =InnerHintPanel>
将; DiscreteObjectKeyFrame KeyTime =0:0:0值=假/>
< / ObjectAnimationUsingKeyFrames>
< /故事板>
< / VisualTransition>
< VisualTransition X:NAME =OpenedToClosed
从=开业为了=关闭
GeneratedDuration =0:0:0.15>
<情节提要>
< DoubleAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.RenderTransform)(CompositeTransform.TranslateX)。
Storyboard.TargetName =选择框>
< EasingDoubleKeyFrame KeyTime =0:0:0.0VALUE =0的easingFunction ={StaticResource的ExponentialEaseIn}/>
< EasingDoubleKeyFrame KeyTime =0:0:0.15VALUE = - 58的easingFunction ={StaticResource的ExponentialEaseIn}/>
< / DoubleAnimationUsingKeyFrames>
< DoubleAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.RenderTransform)(CompositeTransform.TranslateX)。
Storyboard.TargetName =演示者>
< EasingDoubleKeyFrame KeyTime =0:0:0.0VALUE =86的easingFunction ={StaticResource的ExponentialEaseIn}/>
< EasingDoubleKeyFrame KeyTime =0:0:0.15VALUE =24的easingFunction ={StaticResource的ExponentialEaseIn}/>
< / DoubleAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.Visibility)
Storyboard.TargetName =选择框>
< DiscreteObjectKeyFrame KeyTime =0:0:0.15VALUE =折叠/>
< / ObjectAnimationUsingKeyFrames>
< /故事板>
< / VisualTransition>
< /VisualStateGroup.Transitions>
<的VisualState X:NAME =关闭/>
<的VisualState X:名称=暴露>
<情节提要>
将; DoubleAnimation是Storyboard.TargetProperty =(UIElement.Opacity)
Storyboard.TargetName =OuterHintPanel
持续时间=0要=1.0/>
< /故事板>
< /&的VisualState GT;
<的VisualState X:名称=打开>
<情节提要>
将; DoubleAnimation是Storyboard.TargetProperty =。(UIElement.RenderTransform)(CompositeTransform.TranslateX)
Storyboard.TargetName =选择框
持续时间=0要=0/ >
< DoubleAnimation是Storyboard.TargetProperty =。(UIElement.RenderTransform)(CompositeTransform.TranslateX)
Storyboard.TargetName =演示者
持续时间=0=86/ >
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.Visibility)
Storyboard.TargetName =选择框>
< DiscreteObjectKeyFrame KeyTime =0:0:0值=可见/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.Visibility)
Storyboard.TargetName =外罩>
< DiscreteObjectKeyFrame KeyTime =0:0:0值=可见/>
< / ObjectAnimationUsingKeyFrames>
< DoubleAnimation是Storyboard.TargetProperty =(UIElement.Opacity)
Storyboard.TargetName =OuterHintPanel
持续时间=0=0.0/>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.IsHitTestVisible)
Storyboard.TargetName =OuterHintPanel>
将; DiscreteObjectKeyFrame KeyTime =0:0:0值=假/>
< / ObjectAnimationUsingKeyFrames>
< ObjectAnimationUsingKeyFrames Storyboard.TargetProperty =(UIElement.IsHitTestVisible)
Storyboard.TargetName =InnerHintPanel>
将; DiscreteObjectKeyFrame KeyTime =0:0:0值=假/>
< / ObjectAnimationUsingKeyFrames>
< /故事板>
< /&的VisualState GT;
< / VisualStateGroup>
< /VisualStateManager.VisualStateGroups>
<电网的HorizontalAlignment =拉伸>
< Grid.ColumnDefinitions>
< ColumnDefinition WIDTH =*/>
< ColumnDefinition WIDTH =自动/>
< /Grid.ColumnDefinitions>
<电网Grid.Column =0的HorizontalAlignment =弹力toolkitPrimitives:ClipToBounds.IsEnabled =真>
< ContentPresenter X:NAME =演示者>
< ContentPresenter.RenderTransform>
< CompositeTransform TranslateX =24/>
< /ContentPresenter.RenderTransform>
< / ContentPresenter>
< /网格和GT;
<矩形X:NAME =InnerHintPanelGrid.Column =0WIDTH =24
HEIGHT ={TemplateBinding HintPanelHeight}
的HorizontalAlignment =左
填充=透明
StrokeThickness =0>
< Rectangle.RenderTransform>
< CompositeTransform TranslateX =24/>
< /Rectangle.RenderTransform>
< /矩形>
将; ContentControl中X:名称=InfoPresenterGrid.Column =1
VerticalAlignment =顶部
含量={TemplateBinding ContentInfo}
的ContentTemplate ={ TemplateBinding ContentInfoTemplate}/>
< /网格和GT;
<矩形X:NAME =OuterHintPanelWIDTH =24
的HorizontalAlignment =左
HEIGHT ={TemplateBinding HintPanelHeight}
填充={TemplateBinding背景}
StrokeThickness =0不透明度=0.0/>
<电网X:NAME =外罩IsHitTestVisible =真
能见度=坍塌背景=透明/>
<帆布的HorizontalAlignment =左>
<复选框X:NAME =选择框VerticalAlignment =评出的保证金=12,-20,5,0能见度=坍塌
=器isChecked{结合IsSelected,模式=双向,的RelativeSource = {的RelativeSource TemplatedParent}}风格={StaticResource的CheckBoxStyle1}前景=红BorderBrush =#FF00FF46>
< CheckBox.RenderTransform>
< CompositeTransform TranslateX = - 58/>
< /CheckBox.RenderTransform>
< /复选框>
< /帆布>
< /网格和GT;
< /控件模板>
< /Setter.Value>
< /二传手>
< /样式和GT;
< ;工具箱:LongListMultiSelector ItemContainerStyle ={StaticResource的LongListMultiSelectorItemListStyle}>
选择在样式的复选框,并改变颜色BorderBrush和前景色达到你想要的东西。我绑前景色为复选标记啄
Is it possible to change the CheckBox and CheckBox tick's color in LongListMultiSelector. I've tried George Nikolaides solution but I was not able to approach what I needed. Is there any other way to do this? Please can somebody explain this in a little bit more detail? if it's possible. Thanks in advance, The following is George Nikolaides solution:
Can I change CheckBox color in LongListMultiSelector? WP8
Remember to have xmlns:toolkit
and xmlns:toolkitPrimitives
defined like so:
<phone:PhoneApplicationPage
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
xmlns:toolkitPrimitives="clr-namespace:Microsoft.Phone.Controls.Primitives;assembly=Microsoft.Phone.Controls.Toolkit">
Then copy this entire mess to the <phone:PhoneApplicationPage.Resources>
<Style x:Key="PhoneButtonBase" TargetType="ButtonBase">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
<Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
<Setter Property="Padding" Value="10,5,10,6"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ButtonBase">
<Grid Background="Transparent">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver"/>
<VisualState x:Name="Pressed">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneButtonBasePressedForegroundBrush}"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="ButtonBackground">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ButtonBackground">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="ButtonBackground">
<DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border x:Name="ButtonBackground" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="0" Margin="{StaticResource PhoneTouchTargetOverhang}">
<ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="PhoneRadioButtonCheckBoxBase" BasedOn="{StaticResource PhoneButtonBase}" TargetType="ToggleButton">
<Setter Property="Background" Value="{StaticResource PhoneRadioCheckBoxBrush}"/>
<Setter Property="BorderBrush" Value="{StaticResource PhoneRadioCheckBoxBorderBrush}"/>
<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilyNormal}"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Padding" Value="0"/>
</Style>
<Style x:Key="CheckBoxStyle1" BasedOn="{StaticResource PhoneRadioButtonCheckBoxBase}" TargetType="CheckBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="CheckBox">
<Grid Background="Transparent" HorizontalAlignment="Left">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver"/>
<VisualState x:Name="Pressed">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="CheckBackground">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneRadioCheckBoxPressedBrush}"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="CheckMark">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneButtonBasePressedForegroundBrush}"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="IndeterminateMark">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneButtonBasePressedForegroundBrush}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="CheckBackground">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="CheckMark">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="IndeterminateMark">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="CheckStates">
<VisualState x:Name="Checked">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="CheckMark">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Unchecked"/>
<VisualState x:Name="Indeterminate">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="IndeterminateMark">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid Margin="{StaticResource PhoneTouchTargetLargeOverhang}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="32"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" VerticalAlignment="Top">
<Border x:Name="CheckBackground" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{StaticResource PhoneBorderThickness}" Background="{TemplateBinding Background}" HorizontalAlignment="Left" Height="32" IsHitTestVisible="False" VerticalAlignment="Center" Width="32"/>
<Rectangle x:Name="IndeterminateMark" Fill="{StaticResource PhoneRadioCheckBoxCheckBrush}" HorizontalAlignment="Center" Height="16" IsHitTestVisible="False" Visibility="Collapsed" VerticalAlignment="Center" Width="16"/>
<Path x:Name="CheckMark" Data="M0,123 L39,93 L124,164 L256,18 L295,49 L124,240 z" Fill="{TemplateBinding Foreground}" FlowDirection="LeftToRight" HorizontalAlignment="Center" Height="21" IsHitTestVisible="False" Stretch="Fill" StrokeThickness="3" StrokeLineJoin="Round" Visibility="Collapsed" VerticalAlignment="Center" Width="23"/>
</Grid>
<ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Grid.Column="1" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="12,0,0,0" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="LongListMultiSelectorItemListStyle" TargetType="toolkit:LongListMultiSelectorItem">
<Setter Property="Background" Value="{StaticResource PhoneAccentBrush}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="toolkit:LongListMultiSelectorItem">
<Grid MinHeight="52">
<Grid.Resources>
<ExponentialEase EasingMode="EaseIn" Exponent="8" x:Key="ExponentialEaseIn"/>
<QuadraticEase EasingMode="EaseOut" x:Key="QuadraticEaseOut"/>
</Grid.Resources>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="SelectionEnabledStates">
<VisualStateGroup.Transitions>
<VisualTransition x:Name="ClosedToExposed"
From="Closed" To="Exposed"
GeneratedDuration="0:0:0.30">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)"
Storyboard.TargetName="OuterHintPanel">
<EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0.0" EasingFunction="{StaticResource QuadraticEaseOut}"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.30" Value="1.0" EasingFunction="{StaticResource QuadraticEaseOut}"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
<VisualTransition x:Name="ExposedToClosed"
From="Exposed" To="Closed"
GeneratedDuration="0:0:0.30">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)"
Storyboard.TargetName="OuterHintPanel">
<EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="1.0" EasingFunction="{StaticResource QuadraticEaseOut}"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.30" Value="0.0" EasingFunction="{StaticResource QuadraticEaseOut}"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
<VisualTransition x:Name="ExposedToOpened"
From="Exposed" To="Opened"
GeneratedDuration="0:0:0.30">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)"
Storyboard.TargetName="SelectBox">
<EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="-58" EasingFunction="{StaticResource ExponentialEaseIn}"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.15" Value="0" EasingFunction="{StaticResource ExponentialEaseIn}"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)"
Storyboard.TargetName="Presenter">
<EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="24" EasingFunction="{StaticResource ExponentialEaseIn}"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.15" Value="86" EasingFunction="{StaticResource ExponentialEaseIn}"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)"
Storyboard.TargetName="OuterHintPanel">
<EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="1.0" EasingFunction="{StaticResource QuadraticEaseOut}"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.30" Value="0.0" EasingFunction="{StaticResource QuadraticEaseOut}"/>
</DoubleAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)"
Storyboard.TargetName="SelectBox">
<DiscreteObjectKeyFrame KeyTime="0:0:0.0" Value="Visible"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.IsHitTestVisible)"
Storyboard.TargetName="OuterHintPanel">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="False"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.IsHitTestVisible)"
Storyboard.TargetName="InnerHintPanel">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="False"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
<VisualTransition x:Name="ClosedToOpened"
From="Closed" To="Opened"
GeneratedDuration="0:0:0.15">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)"
Storyboard.TargetName="SelectBox">
<EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="-58" EasingFunction="{StaticResource ExponentialEaseIn}"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.15" Value="0" EasingFunction="{StaticResource ExponentialEaseIn}"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)"
Storyboard.TargetName="Presenter">
<EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="24" EasingFunction="{StaticResource ExponentialEaseIn}"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.15" Value="86" EasingFunction="{StaticResource ExponentialEaseIn}"/>
</DoubleAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)"
Storyboard.TargetName="SelectBox">
<DiscreteObjectKeyFrame KeyTime="0:0:0.0" Value="Visible"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.IsHitTestVisible)"
Storyboard.TargetName="OuterHintPanel">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="False"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.IsHitTestVisible)"
Storyboard.TargetName="InnerHintPanel">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="False"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
<VisualTransition x:Name="OpenedToClosed"
From="Opened" To="Closed"
GeneratedDuration="0:0:0.15">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)"
Storyboard.TargetName="SelectBox">
<EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0" EasingFunction="{StaticResource ExponentialEaseIn}"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.15" Value="-58" EasingFunction="{StaticResource ExponentialEaseIn}"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)"
Storyboard.TargetName="Presenter">
<EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="86" EasingFunction="{StaticResource ExponentialEaseIn}"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.15" Value="24" EasingFunction="{StaticResource ExponentialEaseIn}"/>
</DoubleAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)"
Storyboard.TargetName="SelectBox">
<DiscreteObjectKeyFrame KeyTime="0:0:0.15" Value="Collapsed"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
</VisualStateGroup.Transitions>
<VisualState x:Name="Closed"/>
<VisualState x:Name="Exposed">
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)"
Storyboard.TargetName="OuterHintPanel"
Duration="0" To="1.0"/>
</Storyboard>
</VisualState>
<VisualState x:Name="Opened">
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)"
Storyboard.TargetName="SelectBox"
Duration="0" To="0"/>
<DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)"
Storyboard.TargetName="Presenter"
Duration="0" To="86"/>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)"
Storyboard.TargetName="SelectBox">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)"
Storyboard.TargetName="OuterCover">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
</ObjectAnimationUsingKeyFrames>
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)"
Storyboard.TargetName="OuterHintPanel"
Duration="0" To="0.0"/>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.IsHitTestVisible)"
Storyboard.TargetName="OuterHintPanel">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="False"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.IsHitTestVisible)"
Storyboard.TargetName="InnerHintPanel">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="False"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" HorizontalAlignment="Stretch" toolkitPrimitives:ClipToBounds.IsEnabled="True">
<ContentPresenter x:Name="Presenter">
<ContentPresenter.RenderTransform>
<CompositeTransform TranslateX="24"/>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Grid>
<Rectangle x:Name="InnerHintPanel" Grid.Column="0" Width="24"
Height="{TemplateBinding HintPanelHeight}"
HorizontalAlignment="Left"
Fill="Transparent"
StrokeThickness="0">
<Rectangle.RenderTransform>
<CompositeTransform TranslateX="24"/>
</Rectangle.RenderTransform>
</Rectangle>
<ContentControl x:Name="InfoPresenter" Grid.Column="1"
VerticalAlignment="Top"
Content="{TemplateBinding ContentInfo}"
ContentTemplate="{TemplateBinding ContentInfoTemplate}"/>
</Grid>
<Rectangle x:Name="OuterHintPanel" Width="24"
HorizontalAlignment="Left"
Height="{TemplateBinding HintPanelHeight}"
Fill="{TemplateBinding Background}"
StrokeThickness="0" Opacity="0.0"/>
<Grid x:Name="OuterCover" IsHitTestVisible="True"
Visibility="Collapsed" Background="Transparent"/>
<Canvas HorizontalAlignment="Left">
<CheckBox x:Name="SelectBox" VerticalAlignment="Top" Margin="12,-20,5,0" Visibility="Collapsed"
IsChecked="{Binding IsSelected, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource CheckBoxStyle1}" Foreground="Red" BorderBrush="#FF00FF46">
<CheckBox.RenderTransform>
<CompositeTransform TranslateX="-58"/>
</CheckBox.RenderTransform>
</CheckBox>
</Canvas>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<toolkit:LongListMultiSelector ItemContainerStyle="{StaticResource LongListMultiSelectorItemListStyle}">
Select the CheckBox in the style and change the BorderBrush Color and Foreground Color to achieve what you want. I tied the Foreground Color to the Check Mark thingy.
这篇关于如何改变CheckBox和复选框勾在LongListMultiSelector颜色? WP8的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!