【发布时间】:2011-06-03 14:30:13
【问题描述】:
我以前是 VB 控件数组的老用户。现在已经没有了,所以我正在寻找替代品。
我在 C# 中为 Silverlight 创建了一个用户控件。该控件公开了一个布尔属性 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,但我需要的那个(由一些“索引”变量指向),我会做类似的事情:
foreach (ImageButton imgbutton in imgButtons) imgbutton.IsChecked = false;
imgbuttons[index].IsChecked = true;
我遇到的问题是List<ImageButton> 没有编译。我在收藏方面非常不稳定,无法弄清楚我错过了什么。我可以为标准控件做,但不允许我在那里获得用户控件。
谢谢!
PS:我想只自定义一个 RadioButton 控件,但没有 Blend,我正在将此图像控件用于其他类型的控件。但是,如果您认为有更好的方法来实现这一点,请告诉我。
编辑:编译器说“找不到类型或命名空间名称'ImageButton'(您是否缺少 using 指令或程序集引用?)”
【问题讨论】:
标签: c# silverlight arrays user-controls controls