@@ -347,17 +347,32 @@ private void PropertyNameTextBox_GotFocus(object sender, RoutedEventArgs e)
347347
348348 private void SelectTypeMenuItem_Click ( object sender , RoutedEventArgs e )
349349 {
350- var text = ( string ) ( ( MenuItem ) sender ) . Tag ;
351- var result = EditFunction ( text ) ;
352- Dispatcher . InvokeAsync ( ( ) => ( ( MenuItem ) sender ) . Tag = result ) ; //奇怪的bug,事件内直接改没效果,所以只能post到事件完成后运行
350+ var me = ( MenuItem ) sender ;
351+ if ( me . GetType ( ) == typeof ( ViewModels . LXLFuncParams ) )
352+ {
353+ var text = ( ( ViewModels . LXLFuncParams ) me . Tag ) . ParamType ;
354+ var result = EditFunction ( text ) ;
355+ ( ( ViewModels . LXLFuncParams ) me . Tag ) . ParamType = result ;
356+ }
357+ else if ( me . GetType ( ) == typeof ( ViewModels . LXLFunction ) )
358+ {
359+ var text = ( ( ViewModels . LXLFunction ) me . Tag ) . ReturnType ;
360+ var result = EditFunction ( text ) ;
361+ ( ( ViewModels . LXLFunction ) me . Tag ) . ReturnType = result ;
362+ } else if ( me . GetType ( ) == typeof ( ViewModels . LXLProperty ) )
363+ {
364+ var text = ( ( ViewModels . LXLProperty ) me . Tag ) . PropertyType ;
365+ var result = EditFunction ( text ) ;
366+ ( ( ViewModels . LXLProperty ) me . Tag ) . PropertyType = result ;
367+ }
353368 }
354369 private void SelectTypeComboBox_SelectionChanged ( object sender , SelectionChangedEventArgs e )
355370 {
356371 var me = ( ComboBox ) sender ;
357372 if ( me . SelectedItem ? . ToString ( ) == "Function" )
358373 {
359374 //e.Handled = true;
360- var result = EditFunction ( "Function" ) ;
375+ var result = EditFunction ( me . Text ) ; //还未更新的Text
361376 Dispatcher . InvokeAsync ( ( ) => me . Text = result ) ; //奇怪的bug,事件内直接改没效果,所以只能post到事件完成后运行
362377 }
363378 }
0 commit comments