如何在Windows Phone中更改所选项目的背景颜色?

时间:2013-03-03 09:21:42

标签: background listbox windows-phone selected

如何更改在Windows Phone中具有datatemplate的列表框中所选项目的背景颜色?

我已经看到它可以与Setter Properties一起使用。我会在哪里写的?

感谢。

代码

<ListBox x:Name="listLocs" HorizontalAlignment="Left" Height="605" VerticalAlignment="Top" Width="250" SelectionChanged="listLocs_SelectionChanged" Margin="10,155,0,0" BorderBrush="#FF030042" BorderThickness="2" Foreground="#FF030042">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <StackPanel>
                    <Image Source="/Images/Pin2.png" Width="60"  Height="60" />
                </StackPanel>
                <StackPanel>
                    <StackPanel>
                        <TextBlock x:Name="txtName" Margin="10,0,0,0" Foreground="#FF030042"  FontSize="30" Text="{Binding Name}"/>
                    </StackPanel>
                    <StackPanel>
                        <TextBlock x:Name="txtDescription" Margin="10,0,0,0" Foreground="#FF030042" FontSize="20" Text="{Binding Description}"/>
                    </StackPanel>
                </StackPanel>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

1 个答案:

答案 0 :(得分:1)

您可以在后面的代码中执行此操作,尽管在select change事件处理程序中:

    private void listLocs_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        ListBoxItem myitem = listLocs.SelectedItem as ListBoxItem;
       SolidColorBrush brush =  new SolidColorBrush(Color.FromArgb(255,255,0,0));
       myitem.Background = brush;
    }