WPF 的问题

LoseAnson洛施安森 2010-10-31 08:26:14
这些是WPF中的一些代码 本人新手 请高手指教
1 void x_count_Click(object sender, RoutedEventArgs e)中括号里的参数有什么用?
2 [STAThreadAttribute]这句有什么用?
3 x_write.Click += (s, e) => 这句是什么功能?
4 x_file.Click += delegate{} 这句是什么操作?


我刚接触WPF 代码很多都看不懂 请高手解惑
...全文
132 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-10-31
  • 打赏
  • 举报
回复
使用委托和匿名方法关联:
this.btn.Click += delegate(object sender, EventArgs e) { BindData(); };
Lambda表达式为编写匿名方法提供了更简明的函数式的句法,在编写LINQ查询表达式时变得极其有用,因为它们提供了一个非常紧凑的而且类安全的方式来编写可以当作参数来传递,在以后作运算的函数。
wuyq11 2010-10-31
  • 打赏
  • 举报
回复
object sender 发出事件的对象
RoutedEventArgs
获取或设置一个值,该值指示路由事件在路由过程中的事件处理当前状态
STAThreadAttribute 属性被应用于 Main 方法以指示 WPF 应用程序的主 UI 线程是一个 STA 线程,此线程是 WPF 应用程序所必需
_write.Click += (s, e) => lambda表达式,3.0以上lambda表达式代替匿名委托
x_file.Click += delegate{} 匿名委托
可看看 msdn
threenewbee 2010-10-31
  • 打赏
  • 举报
回复
你还可以写 x_write.Click += x_count_Click,假设 x_count_Click 的方法签名和委托一致。
x_count_Click 是一个方法名(函数名),所以这是一个有名的方法,而 delegate(s, e) { ... }
只写了方法体,没有名字,这是匿名方法。
threenewbee 2010-10-31
  • 打赏
  • 举报
回复
(1) sender 包含了触发这个事件的对象。e 包含事件所需要的参数。
(2) 这是一个特性,表示程序在标准单元公寓中运行。
(3)和(4)是一个问题。
首先理解 (s, e) => ... 是lambda表达式,等效 delegate(s, e) { ... }
其实就是为x_write.Click事件增加一个匿名委托。
purehunter 2010-10-31
  • 打赏
  • 举报
回复
第三句是代码隐藏 不能调试 和委托一样 还是要百度
purehunter 2010-10-31
  • 打赏
  • 举报
回复
你问的东西基本上都不是wpf特有的 建议你百度一下委托事件

111,129

社区成员

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

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

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