我想动态更改我的长名单选择器的跳转列表的颜色。我在 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 并崩溃。
在初始化组件中,我想 FindName 返回空,但我无法弄清楚为什么
this.BackgroundConvert = ((Microsoft.Phone.Controls.JumpListItemBackgroundConverter)(this.FindName("BackgroundConvert")));
顺便说一句,这是针对Windows Phone 8的!
在资源中使用x:key,就不需要用x:Name="BackgroundConvert"。
<phone:JumpListItemBackgroundConverter x:Key="BackgroundConverter" Enabled="#FFA20025"/>
然后,您可以使用它在代码隐藏中的x:Key="BackgroundConverter"
值从 Resources 访问它。资源是字典。
var converter = (Microsoft.Phone.Controls.JumpListItemBackgroundConverter)this.Resources["BackgroundConverter"];