我想动态更改我的longlistselector的跳转列表的颜色。我在资源
中的xaml中定义了JumpListBackgroundCOnverter<phone:PhoneApplicationPage.Resources>
<phone:JumpListItemBackgroundConverter x:Name="BackgroundConvert" x:Key="BackgroundConverter" Enabled="#FFA20025"/>
在组件初始化后的C#中,BackgroundConvert返回null
public MainPage()
{
InitializeComponent();
this.BackgroundConvert.Enabled = new SolidColorBrush(ThemeGradient.Color);
我将启用的值更改为新画笔,并计划在整个代码中更改它。由于某种原因,它返回null和崩溃。
在InitializeComponent中,我认为FindName返回null但我无法弄清楚为什么
this.BackgroundConvert = ((Microsoft.Phone.Controls.JumpListItemBackgroundConverter)(this.FindName("BackgroundConvert")));
顺便说一下,这是适用于Windows Phone 8的!
答案 0 :(得分:1)
您只需要在资源中使用x:key,您不需要使用x:Name =“BackgroundConvert”。
<phone:JumpListItemBackgroundConverter x:Key="BackgroundConverter" Enabled="#FFA20025"/>
然后,您可以使用代码后面的x:Key="BackgroundConverter"
值从资源访问它。资源是一个字典。
var converter = (Microsoft.Phone.Controls.JumpListItemBackgroundConverter)this.Resources["BackgroundConverter"];