C# (如何)删除';文件';从阿瓦朗多克的一个绑定收藏中?
我把“如何”放在括号里,因为我不确定是否必须这样做 考虑以下几点: 我有一个带有AvalonDock控件的MVVM应用程序。控制措施如下:C# (如何)删除';文件';从阿瓦朗多克的一个绑定收藏中?,c#,wpf,mvvm,mvvm-light,avalondock,C#,Wpf,Mvvm,Mvvm Light,Avalondock,我把“如何”放在括号里,因为我不确定是否必须这样做 考虑以下几点: 我有一个带有AvalonDock控件的MVVM应用程序。控制措施如下: <xcad:DockingManager Grid.Row="1" DocumentsSource="{Binding Workspaces}" Background="White" ActiveContent="{Binding ActiveWorkspace, Mode=TwoWay}"> <xc
<xcad:DockingManager Grid.Row="1" DocumentsSource="{Binding Workspaces}" Background="White" ActiveContent="{Binding ActiveWorkspace, Mode=TwoWay}">
<xcad:DockingManager.LayoutItemContainerStyle>
<Style TargetType="{x:Type li:LayoutItem}">
<Setter Property="Title" Value="{Binding Model.Header}"/>
</Style>
</xcad:DockingManager.LayoutItemContainerStyle>
<i:Interaction.Triggers>
<i:EventTrigger EventName="DocumentClosed">
<cmd:EventToCommand Command="{Binding CloseWorkspaceCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</xcad:DockingManager>
RaisePropertyChanged
用于其他一些不相关的功能
现在我有个问题。假设我有3个开放的工作区,让我们称它们为A、B和C
- 如果我关闭A,C也会随之关闭
- 如果我关闭B,C也会随之关闭
- 如果我关闭C,B也会随之关闭
更新:这似乎是确定实际删除的选项卡项的问题。如果要关闭的选项卡不是所选项目,这就是为什么它会删除其中两个。问题是,我如何告诉它哪个选项卡正在关闭?您的
工作空间集合包含什么?它是工作空间视图模型的可观察集合。可能应该提到这一点,我错了。:)能否显示viewmodels的代码和类型
public RelayCommand CloseWorkspaceCommand
{
get { return _closeWorkspaceCommand ?? (_closeWorkspaceCommand = new RelayCommand(CloseWorkspace)); }
}
void CloseWorkspace()
{
Workspaces.Remove(ActiveWorkspace); RaisePropertyChanged(string.Empty);
}