Bladeren bron

mxg:待建模型清单添加右键删除

mengxiangge 6 jaren geleden
bovenliggende
commit
b1d276ab5a

+ 2 - 0
MBI/SAGA.MBI/WinView/BeModingDutyList/MEquipNoMode.cs

@@ -28,6 +28,7 @@ using SAGA.MBI.WinView.CommonView;
 using SAGA.RevitUtils.Extends;
 using WPfPointInfo.InfoProperty;
 using SAGA.MBI.JsonConvert;
+using System.Collections.ObjectModel;
 
 namespace SAGA.MBI.WinView.BeModingDutyList
 {
@@ -260,6 +261,7 @@ namespace SAGA.MBI.WinView.BeModingDutyList
 
             }
         }
+      
     }
 
 

+ 21 - 0
MBI/SAGA.MBI/WinView/BeModingDutyList/VMBeModeDutyList.cs

@@ -5,6 +5,7 @@
  * ==============================================================================*/
 
 using System.Collections.ObjectModel;
+using System.Windows.Controls;
 using SAGA.DotNetUtils.Extend;
 using SAGA.DotNetUtils.WPF;
 using SAGA.MBI.DataArrange;
@@ -72,5 +73,25 @@ namespace SAGA.MBI.WinView.BeModingDutyList
                 NotifyPropertyChanged("UndefinefloorEquips");
             }
         }
+
+        /// <summary>
+        /// 删除岗位
+        /// </summary>
+        /// <param name="param"></param>
+        [Command]
+        public void DeleteDuty(object param)
+        {
+            var dategrid = param as DataGrid;
+            var equipnomode = dategrid.SelectedItem as MEquipNoMode;
+            if (equipnomode == null) return;
+            var list = dategrid.ItemsSource as ObservableCollection<MEquipNoMode>;
+            if (list == null) return;
+            DalCommon.Delete(equipnomode.MEquipBase.Id);
+            list?.Remove(equipnomode);
+        }
+        public bool CanDeleteDuty(object param)
+        {
+            return true;
+        }
     }
 }

+ 19 - 2
MBI/SAGA.MBI/WinView/BeModingDutyList/WinBeModeDutyList.xaml

@@ -13,6 +13,7 @@
     <windows:WinBase.Resources>
         <converter:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter" IsInverser="False"></converter:BoolToVisibilityConverter>
         <converter:BoolToVisibilityConverter x:Key="InverseBoolToVisibilityConverter" IsInverser="True"></converter:BoolToVisibilityConverter>
+        <local:BindingProxy x:Key="Proxy" Data="{Binding}" />
     </windows:WinBase.Resources>
     <Grid>
         <Grid.RowDefinitions>
@@ -25,7 +26,7 @@
         </Canvas>
         <TabControl Grid.Row="1">
             <TabItem Header="本层内待建模设备设施" >
-                <Grid>
+                <Grid x:Name="grid">
                     <Grid.RowDefinitions>
                         <RowDefinition Height="0"/>
                         <RowDefinition/>
@@ -35,7 +36,7 @@
                           AutoGenerateColumns="False"
                           CanUserAddRows="False"
                           CanUserDeleteRows="False"
-                          ItemsSource="{Binding Path=CurfloorEquips}"
+                          ItemsSource="{Binding Path=CurfloorEquips}"                             
                           HorizontalContentAlignment="Center">
                             <DataGrid.Resources>
                                 <Style TargetType="TextBlock">
@@ -87,6 +88,14 @@
                                     </DataGridTemplateColumn.CellTemplate>
                                 </DataGridTemplateColumn>
                             </DataGrid.Columns>
+                            <DataGrid.ContextMenu>
+                                <ContextMenu>
+                                    <MenuItem Header="删除"
+                                              Command="{Binding Source={StaticResource Proxy}, Path=Data.Commands.DeleteDuty}" 
+                                              CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}, Path=PlacementTarget}"
+                                              ></MenuItem>
+                                </ContextMenu>
+                            </DataGrid.ContextMenu>
                         </DataGrid>
                     </Grid>
                 </Grid>
@@ -104,6 +113,14 @@
                           CanUserDeleteRows="False"
                           ItemsSource="{Binding Path=UndefinefloorEquips}"
                           HorizontalContentAlignment="Center">
+                            <DataGrid.ContextMenu>
+                                <ContextMenu>
+                                    <MenuItem Header="删除"
+                                              Command="{Binding Source={StaticResource Proxy}, Path=Data.Commands.DeleteDuty}" 
+                                              CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}, Path=PlacementTarget}"
+                                    ></MenuItem>
+                                </ContextMenu>
+                            </DataGrid.ContextMenu>
                             <DataGrid.Resources>
                                 <Style TargetType="TextBlock">
                                     <Setter Property="TextAlignment" Value="Center"></Setter>

+ 18 - 1
MBI/SAGA.MBI/WinView/BeModingDutyList/WinBeModeDutyList.xaml.cs

@@ -1,4 +1,5 @@
-using System;
+using SAGA.DotNetUtils.WPF;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -25,4 +26,20 @@ namespace SAGA.MBI.WinView.BeModingDutyList
             InitializeComponent();
         }
     }
+    public class BindingProxy : Freezable
+    {
+        protected override Freezable CreateInstanceCore()
+        {
+            return new BindingProxy();
+        }
+
+        public object Data
+        {
+            get { return (object)GetValue(DataProperty); }
+            set { SetValue(DataProperty, value); }
+        }
+
+        public static readonly DependencyProperty DataProperty =
+            DependencyProperty.Register("Data", typeof(object), typeof(BindingProxy), new UIPropertyMetadata(null));
+    }
 }