wpf的CommandParameter怎么传递当前窗口的属性值

ajdkjalj 2017-04-11 09:20:19
我只想点button时传个当前窗口的值给方法,但是我设置CommandParameter="{Binding ElementName=MainWindow,Path= error}",MainWindow是当前窗口名,error是bool值,还是设置CommandParameter="{Binding error}",方法那边接收的都为null
...全文
870 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
exception92 2017-04-11
  • 打赏
  • 举报
回复
error如何声明的, 先调试下看error 到底有没有值。
  • 打赏
  • 举报
回复
引用 2 楼 Libby1984 的回复:
并不是所有的属性都能用于绑定的,你看一下书,关于绑定的部分应该有说明,参与绑定的属性应该是要依赖属性。显然你代码中用到的不是。
建议你直接在cs代码中给CommandParameter赋值更方便。
  • 打赏
  • 举报
回复
并不是所有的属性都能用于绑定的,你看一下书,关于绑定的部分应该有说明,参与绑定的属性应该是要依赖属性。显然你代码中用到的不是。
  • 打赏
  • 举报
回复
假设Form2的数据要传到Form1的TextBox。 
在Form2: 
// Define delegate 
public delegate void SendData(object sender); 
// Create instance 
public SendData sendData; 
在Form2的按钮单击事件或其它事件代码中: 
if(sendData != null) 
{ 
 sendData(txtBoxAtForm2);  
} 
this.Close(); //关闭Form2 
在Form1的弹出Form2的代码中: 
Form2 form2 = new Form2(); 
form2.sendData = new Form2.SendData(MyFunction); 
form2.ShowDialog(); 
==================== 
private void MyFunction(object sender) 
{ 
  textBox1.Text = ((TextBox)sender).Text; 
} 
xuggzu 2017-04-11
  • 打赏
  • 举报
回复
error属性写好,command实现好,设置datacontext即可。
xinweilee 2017-04-11
  • 打赏
  • 举报
回复
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type Window}},Path= error}"
这样试一下
ajdkjalj 2017-04-11
  • 打赏
  • 举报
回复
引用 4 楼 duanzi_peng 的回复:
error如何声明的, 先调试下看error 到底有没有值。
有值,就是个很普通 的get;;set;的属性,难道真的要弄成依赖属性么

110,559

社区成员

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

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

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