无法从XAML中找到C#中的JumpListItemBackgroundConverter

时间:2013-12-25 03:02:59

标签: c# xaml windows-phone-8 findname

我想动态更改我的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的!

1 个答案:

答案 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"];