C#实现WPF更改子控件属性问题

水晶圣教士 2010-06-11 09:50:19
WPF更改子控件属性问题

我创建了一个Windows1.xaml和一个UserControl1.xaml,在Windows1中有一个StackPanel1,在程序运行时我通过下列代码在StackPanel1中添加了多个UserControl1


string[] name1;//在程序运行后由用户操作产生
for (int i = 0; i < name1.Length; i++)
{
UserControl1 uc1 = new UserControl1();
uc1.Name = name1[i];
StackPanel1.Children.Add(uc1);
}


之后,我想实现我单击一个StackPanel1中的uc1[1]时,这个uc1[1]改变背景颜色,当我单击uc1[2]时,uc1[2]改变背景颜色,而其他uc1还原(或修改)为默认背景颜色;
感觉就像这个UserControl1被选中了。
单击一个UserControl1修改其背景颜色我可以实现,可是如何还原(或修改)其它UserControl1的背景颜色。
请指教,谢谢^_^
...全文
311 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
水晶圣教士 2010-06-23
  • 打赏
  • 举报
回复
解决了,实际上很简单,开始像复杂了,忘记使用全局变量来得到我要操作的控件^_^
方法:
//声明全局变量进行操作
List<imageFiles> listImageFiles = new List<imageFiles>(); //存放所有控件
Control oldControl; //失去选中的控件
Control nowControl; //当前选中控件

//每次单击后,进行修改
oldControl.Background = Brushes.White; //还原颜色
nowControl.Background = Brushes.AliceBlue; //修改为新颜色
皇城龙三 2010-06-11
  • 打赏
  • 举报
回复
WPF控件开发基础之属性系统

http://www.csharpwin.com/csharpspace/10226r5026.shtml

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧