前提:在WPF中使用HandyControl框架
问题:假设Dialog中有一个ListBox,如何在选中ListBoxItem后,向MainWindow传递ListBoxItem的信息。
要求:请给出简要代码。
谢谢。
![](https://profile-avatar.csdnimg.cn/ef1dca5ed5ec4859a0c3f2fcbddfbb8b_alexandershi000.jpg!4)
WPF的Dialog向WIndow传值
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
19条回答 默认 最新
关注
获得0.45元问题酬金 引自免费微信小程序:皆我百晓生
问题解决方案如下:
1. 在Dialog中定义一个委托和事件,用于传递选中的ListBoxItem信息
首先,在Dialog的代码文件中定义一个委托和事件,用于传递选中的ListBoxItem信息。例如:
public delegate void ListBoxItemSelectedEventHandler(object sender, ListBoxItem selectedItem); public event ListBoxItemSelectedEventHandler ListBoxItemSelected;
然后,在ListBox的SelectionChanged事件中触发该事件,并传递选中的ListBoxItem信息。例如:
private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (ListBoxItemSelected != null && listBox.SelectedItem != null) { ListBoxItem selectedItem = (ListBoxItem)listBox.SelectedItem; ListBoxItemSelected(this, selectedItem); } }
2. 在MainWindow中订阅Dialog的事件,并处理传递的ListBoxItem信息
在MainWindow的代码文件中,订阅Dialog的ListBoxItemSelected事件,并在事件处理方法中处理传递的ListBoxItem信息。例如:
private void ShowDialogButton_Click(object sender, RoutedEventArgs e) { MyDialog dialog = new MyDialog(); dialog.ListBoxItemSelected += Dialog_ListBoxItemSelected; dialog.ShowDialog(); } private void Dialog_ListBoxItemSelected(object sender, ListBoxItem selectedItem) { // 在这里处理传递的ListBoxItem信息 // 例如,展示ListBoxItem的内容 MessageBox.Show(selectedItem.Content.ToString()); }
这样,当Dialog中的ListBox选中了一个ListBoxItem后,将会触发ListBoxItemSelected事件,MainWindow会接收到该事件并处理传递的ListBoxItem信息。
希望这个解决方案对您有所帮助!请注意,代码仅为示例,具体实现可能需要根据您的实际情况进行调整。
解决 2无用
悬赏问题
- ¥15 为什么我安装了open3d但是在调用的时候没有报错但是什么都没有发生呢
- ¥50 paddleocr最下面一行似乎无法识别
- ¥15 求某类社交网络数据集
- ¥15 靶向捕获探针方法/参考文献
- ¥15 很抱歉出现错误word不能启动(24),如何解决?
- ¥15 javascript下载网络图片
- ¥15 excel中的填充效果 对应poi的哪个对象啊
- ¥20 急需求一个 手机抓包app支付链接脚本
- ¥15 byte[]转String后值为[object Object]
- ¥20 STM32 驱动AD7734,AD7734读出错误数值: 16777215不能变