2011-08-23 267 views
1

我想选择改变项目的背景颜色,但我似乎无法找到一种方法来做到这一点。
我尝试使用下面的代码,但无法找到完成它,我需要到colror设置为自定义的,如“#8e8e8e”:ListBoxItem背景颜色

private void list_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     if (list.SelectedItem != null) 
     { 
      ListBoxItem a = sender as ListBoxItem; 
      //a.Background= 

      PhoneApplicationService.Current.State["test"] = list.SelectedItem; 
      NavigationService.Navigate(new Uri("/Detail", UriKind.Relative)); 
     } 
     list.SelectedIndex = -1; 
    } 

,所以我需要为了简单起见,将选定的项目背景色从ch#改为#8E8E8E,因为改变状态看起来有点复杂,特别是我需要做的就是改变所选项目的背景颜色。
由于提前,

回答

0

你应该看看所选项目可视状态,如果你想做到这一点。

但是,Metro应用程序的标准行为和建议的设计最佳做法建议不要使用颜色来指示除ListPicker以外的任何其他选择。
没有看到你的应用程序,你如何使用列表框或指示选择的目的,但很难提供进一步的建议。

+0

见编辑的代码目前为止 – Ameen

1

虽然不推荐像马特已经指出你应该能够通过使用ControlTemplates和视觉状态来实现这一点。看看这篇文章windowsphonegeek怎么看:Part 1Part 2

请让我们知道,如果您遇到任何问题

+0

我没有检查这个环节之前,老实说它并没有太大的帮助:( 我在帖子中使用了模板,但似乎有东西丢失,我是新的模板绑定的东西,所以这就是为什么我试图用C#代码而不是模板来解决这个问题。 – Ameen

+0

我知道你是如何感觉,我第一次尝试使用它时也遇到了问题,现在我没有时间为你解决这个问题,但如果没有其他解决方案出现,我会尽力在本周末回复你然而 –