Одна кнопка, выбранная за раз в списке (цвет фона) - PullRequest
2 голосов
/ 01 марта 2012

Итак, я хочу установить текущую выбранную кнопку на зеленый фон в списке, в то время как все не выбранные кнопки должны оставаться черными.Как я могу это сделать.Посмотреть пример кода ниже .. не могу заставить его работать, хотя.

foreach(Button btn in ListBox.Items)
btn.Background = new SolidColorBrush(Colors.Black);
Button clickedButton = sender as Button;
clickedButton.Background = new SolidColorBrush(Colors.Green);

1 Ответ

2 голосов
/ 01 марта 2012

Если вы хотите это таким образом (без привязки и конвертеров), вы идете: (Я также предполагаю, что в элементе списка есть только кнопка)

for (int i = 0; i < ListBox.Items.Count; i++)
{
    Button currentButton = ListBox.Items[i] as Button;
    if(currentButton != null)
    {
        if (i == ListBox.SelectedIndex)  
            currentButton.Background = new SolidColorBrush(Colors.Green);

        else 
            currentButton.Background = new SolidColorBrush(Colors.Black);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...