【发布时间】:2015-03-18 03:47:31
【问题描述】:
我一直在调整 Josh Smith's MVVM Demo app 以满足我的要求。
我大部分时间都取得了成功。现在我想在此应用程序的文件菜单项中添加一个功能“打印”(类似于任何应用程序中存在的打印功能)。由于我可以在此应用程序中打开多个选项卡,当用户单击“打印”时,我如何知道哪个选项卡(更具体地说是哪个工作区)处于活动状态?下面的代码显示了在 DemoApp 中使用 TabControl 的 DataTemplate。
非常感谢任何帮助/想法。
<DataTemplate x:Key="WorkspacesTemplate">
<TabControl
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource ClosableTabItemTemplate}"
Margin="4"
/>
【问题讨论】:
-
@devhedgehog :不,这不是 MVVM 中的工作方式。 MVVM 没有隐藏代码,您建议的 stakoverflow 链接适用于一般 WPF 解决方案。
-
你在哪里读到的? model-VIEW-ViewModel 模式确实允许我朋友后面的代码是 VIEW 的一部分。此外,如果您正确检查该链接,用户将 TabControl.SelectedItem 绑定到 ViewModel 中的属性。那里根本没有代码:)
-
SelectedIndex 对您和 SelectedItem 都不起作用?那么你的 ViewModel 需要改进。请发布更多代码
-
运行您的代码并检查输出窗口。我认为您会偶然发现一些绑定错误
标签: c# wpf mvvm tabcontrol