Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 选择功能区选项卡时更改ViewModel_C#_Wpf_Mvvm - Fatal编程技术网

C# 选择功能区选项卡时更改ViewModel

C# 选择功能区选项卡时更改ViewModel,c#,wpf,mvvm,C#,Wpf,Mvvm,我绝对是WPF和MVVM领域的新手。但我所知甚少,这让我想深入挖掘。听起来很刺激 我正在使用来自的fluent ribbon控件。每个功能区选项卡都有一个关联的视图和一个ViewModel。我使用SelectedTabChanged事件进行此更改,该事件在选择选项卡时触发。SelectionChangedEventArgs的AddItems集合具有新选项卡的名称,因此我可以在代码隐藏类中使用该名称来完成它 我想知道这是否可以在不实现任何代码的情况下实现。我尝试附加一个依赖项对象,以便事件可以作为

我绝对是WPF和MVVM领域的新手。但我所知甚少,这让我想深入挖掘。听起来很刺激

我正在使用来自的fluent ribbon控件。每个功能区选项卡都有一个关联的视图和一个ViewModel。我使用SelectedTabChanged事件进行此更改,该事件在选择选项卡时触发。SelectionChangedEventArgs的AddItems集合具有新选项卡的名称,因此我可以在代码隐藏类中使用该名称来完成它

我想知道这是否可以在不实现任何代码的情况下实现。我尝试附加一个依赖项对象,以便事件可以作为命令附加到视图模型中。但这在最后一个实例中失败了,因为Fluent Ribbon似乎不是从DependencyObject派生的


提前感谢您的想法和观点。

您是在运行时动态添加选项卡,还是在xaml中定义它们

如果要在xaml中定义它们,则只需为主窗口提供一个主viewmodel,其中包含不同选项卡的viewmodels实例。然后,应该将它们作为属性公开,然后可以将每个选项卡的datacontext绑定到这些属性


如果功能区上有“选定项”、“选定选项卡”或某些类似属性,如果需要知道选择了哪个选项卡,可以将其绑定到主vm中的“CurrentTab”属性

您是在运行时动态添加选项卡,还是在xaml中定义它们

如果要在xaml中定义它们,则只需为主窗口提供一个主viewmodel,其中包含不同选项卡的viewmodels实例。然后,应该将它们作为属性公开,然后可以将每个选项卡的datacontext绑定到这些属性


如果功能区上有“选定项”、“选定选项卡”或某些类似属性,如果需要知道选择了哪个选项卡,可以将其绑定到主vm中的“CurrentTab”属性

谢谢你的回复和建议。我在设计期间通过xaml添加选项卡。所以我想你的建议是可能的。我会去看看的。谢谢你的回复和建议。我在设计期间通过xaml添加选项卡。所以我想你的建议是可能的。我去看看。