![]() |
1
1
一个想法浮现在脑海中,不需要太多的改变。 首先,将事件添加到infotab类中:
然后在主窗体中处理它,方法是将控制声明替换为:
给你的摘要标签起个名字:
然后在主窗体中添加事件处理程序:
并在SummaryTab类中添加一个方法来选择单选按钮。
|
![]() |
2
1
你可能会用wpf routed events 解决你的问题。路由事件使用wpf可视化树将事件发送到父控件(冒泡)或子控件(隧道),而不会过度耦合。我在下面举了一个简单的例子,因为我知道路由事件一开始可能有点难学,但很值得… 在主窗口中,定义路由事件并添加处理程序方法:
在按钮单击处理程序中,引发事件:
下一步将是通过隧道将另一个事件传输到可视化树中,并让另一个用户控件监听它。 |
![]() |
3
0
我最后添加了一个公共方法,正如杰里米在他的帖子中建议的那样。一个简单但有效的解决方案。谢谢杰瑞米! 另一个关键实现是,为了按索引切换TabControl,我可以获取对主用户控件的引用,并将SelectedItem设置为TabItem本身,如下所示:
根据杰里米的建议,我的解决方案是:
我的XAML结构就像
我认为Andrew Jackson的评论是绝对有效的——从长远来看,我计划调查使用路由命令或路由事件来遍历可视化树,但目前我坚持使用这种“快速而肮脏”的解决方案,因为我们不提供此产品。根据我的调查,对于这种情况,路由事件可能有点过分。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 7 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 7 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 7 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 7 月前 |