Windows phone 8 WP8情节提要彩色动画引发无效操作异常
我正在尝试设置stackpanel背景色点击事件的动画以突出显示它。Stackpanel位于longlistselector内。当我点击特定元素时,我想突出显示它 代码如下 xaml代码Windows phone 8 WP8情节提要彩色动画引发无效操作异常,windows-phone-8,storyboard,coloranimation,Windows Phone 8,Storyboard,Coloranimation,我正在尝试设置stackpanel背景色点击事件的动画以突出显示它。Stackpanel位于longlistselector内。当我点击特定元素时,我想突出显示它 代码如下 xaml代码 **<phone:PhoneApplicationPage.Resources> <local:BooleanToForegroundConverter x:Key="BooleanToForegroundConverter"/> <Style x:Key="MyL
**<phone:PhoneApplicationPage.Resources>
<local:BooleanToForegroundConverter x:Key="BooleanToForegroundConverter"/>
<Style x:Key="MyLongListMultiSelectorItemListStyle"
TargetType="toolkit:LongListMultiSelectorItem">
<Style.Setters>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="toolkit:LongListMultiSelectorItem">
<StackPanel
Background="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=IsSelected, Mode=TwoWay,
Converter={StaticResource BooleanToForegroundConverter}}">
</phone:PhoneApplicationPage.Resources>**
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style.Setters>
</Style>
<toolkit:LongListMultiSelector IsGroupingEnabled="True"
SelectionChanged="lstSongs_SelectionChanged"
GroupHeaderTemplate="{StaticResource BuddiesGroupHeaderTemplate}"
Background="Transparent"
JumpListStyle="{StaticResource AddrBookJumpListStyle}"
HideEmptyGroups="True"
x:Name="lstSongs"
toolkit:TiltEffect.IsTiltEnabled="True"
ItemsSource="{Binding Songs}"
**ItemContainerStyle="{StaticResource MyLongListMultiSelectorItemListStyle}"**
IsSelectionEnabledChanged="lstSongs_IsSelectionEnabledChanged"
>
<toolkit:LongListMultiSelector.ItemTemplate>
<DataTemplate >
<StackPanel
Margin="-40,0,0,17"
Width="432"
Height="78"
Tap="OnTap"
>
<TextBlock
Text="{Binding Name}"
Margin="0,-15,0,0"
Style="{StaticResource PhoneTextExtraLargeStyle}"
Padding="0,0,0,0"/>
<TextBlock
Text="{Binding Artist.Name}"
Margin="12,-6,12,0"
Style="{StaticResource PhoneTextSubtleStyle}"/>
</StackPanel>
</DataTemplate>
</toolkit:LongListMultiSelector.ItemTemplate>
</toolkit:LongListMultiSelector>
但我在序列图像板上遇到无效的操作异常。Begin();线
我错过了什么??我刚刚开始学习windows phone 8,因此非常感谢您的帮助。首先,不要在代码隐藏中这样做。替代LongListMultiSelectorItem样式,并对所需元素使用转换器。类似于下面的内容
<Style x:Key="MyLongListMultiSelectorItemListStyle"
TargetType="toolkit:LongListMultiSelectorItem">
<Style.Setters>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="toolkit:LongListMultiSelectorItem">
<StackPanel
Background="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=IsSelected, Mode=TwoWay,
Converter={StaticResource BooleanToForegroundConverter}}">
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style.Setters>
</Style>
我没有发布转换器的实现,它相当简单。根据布尔值返回所需的画笔。我是windows phone开发新手。你能解释一下这段代码中发生了什么吗?->Background=“{Binding RelativeSource={RelativeSource TemplatedParent},Path=IsSelected,Mode=TwoWay,Converter={StaticResource BooleanToForegroundConverter}”我希望动画发生在StackPanel的Tap上LongListMultiSelectorItem有一个布尔IsSelected依赖属性,每当您选择/取消选择一个项目时,该属性都会更新。实质上,点击LongListMultiSelector中的一个项目会使该属性变为两个。这行XAML将stackpanel的背景绑定到该属性,并使用转换器返回所需的画笔。但现在我有个例外{System.Windows.Markup.XamlParseException:无法创建类型为“MusicLayer.BooleantToForeGroundConverter”的实例。我编辑了我修改过的代码。出现了一些问题。Converter类不是公共的。现在我做了正确的设置。但是现在LongListMultiSelector项没有显示出来。我只是得到了组头。你能找出是什么吗t我做错了吗?删除LongListMultiSelector中的内联ItemTemplate,并将其放置在样式上(如果尚未执行此操作)。
<Style x:Key="MyLongListMultiSelectorItemListStyle"
TargetType="toolkit:LongListMultiSelectorItem">
<Style.Setters>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="toolkit:LongListMultiSelectorItem">
<StackPanel
Background="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=IsSelected, Mode=TwoWay,
Converter={StaticResource BooleanToForegroundConverter}}">
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style.Setters>
</Style>