此问题已在此处有答案:
How do I bind a TabControl to a collection of ViewModels?(4个答案)
上个月关门了。
我对WPF、C#和MVVM结构还很陌生,所以请原谅我的无知。我只是试图在打开文件时创建一个新选项卡。我的逻辑都在ViewModel中,包括打开文件,这是通过XAML文件中的绑定调用的,所以我很困惑,一旦打开一个文件,我应该如何让视图创建一个新的选项卡,而不需要两者之间的通信。也许我遗漏了什么,也许我的方法完全不正确,我不确定。
我最近发现了一种方法,可以将2个命令绑定到1个事件,但是如果每次有人单击“打开”时都创建一个标签,这将是有问题的,特别是如果用户取消。我已经研究过让视图和ViewModel进行通信,因为有很多方法可以做到这一点,但我正在尽一切可能避免这种情况,并完全打破MVVM的规则。
1条答案
按热度按时间rsl1atfo1#
有很多方法:
1.如果ViewModel中的属性支持INotifyPropertyChanged,则可以更新它。
1.一个复杂但好的方法,使用Prism(和部分ReactiveUI),你可以导航到你的标签。
如果你是初学者,我建议你使用第一种方法。