Я старый пользователь массива элементов управления в VB еще в те времена. Сейчас его нет, поэтому я ищу замену.
Я создал пользовательский элемент управления в C # для Silverlight. Этот элемент управления предоставляет свойство bool IsChecked.
<ImageButton Name"imgbutton1" IsChecked="True"/>
<ImageButton Name"imgbutton2" IsChecked="False"/>
<ImageButton Name"imgbutton3" IsChecked="False"/>
В дочернем окне я заполняю серию этих элементов управления и использую их как эквивалент RadioButtons, то есть, когда я нажимаю один, любой другой, имеющий IsChecked = true, будет установлен в false, для которого я думал делать что-то вроде:
List<ImageButton> imgButtons= new List<ImageButton>();
imgButtons.Add(imgbutton1);
imgButtons.Add(imgbutton2);
imgButtons.Add(imgbutton3);
Затем, чтобы очистить все их IsChecked, кроме того, который мне нужен (указан некоторой переменной 'index'), я бы сделал что-то вроде:
foreach (ImageButton imgbutton in imgButtons) imgbutton.IsChecked = false;
imgbuttons[index].IsChecked = true;
У меня проблема в том, что List<ImageButton>
не компилируется. Я очень слабо разбираюсь в коллекциях и не могу понять, чего мне не хватает. Я могу сделать для стандартных элементов управления, но не позволяет мне получить пользовательский элемент управления там.
Спасибо!
PS: я думал только о настройке элемента управления RadioButton, но у меня нет Blend, и я использую этот элемент управления изображением для других типов элементов управления. Однако, если вы считаете, что есть лучший способ реализовать это, пожалуйста, дайте мне знать.
РЕДАКТИРОВАТЬ: Компилятор говорит: «Не удалось найти тип или имя пространства имен« ImageButton »(отсутствует директива using или ссылка на сборку?) '