Skip to content
This repository was archived by the owner on Jul 28, 2024. It is now read-only.

Commit a3f4bac

Browse files
committed
fix
1 parent c64c367 commit a3f4bac

3 files changed

Lines changed: 9 additions & 21 deletions

File tree

src/LXLDevHelper/ViewModels/LXLFuncParams.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using Prism.Mvvm;
1+
using Newtonsoft.Json;
2+
using Prism.Mvvm;
23
using System.Collections.ObjectModel;
34
namespace LXLDevHelper.ViewModels
45
{
@@ -7,6 +8,7 @@ namespace LXLDevHelper.ViewModels
78
/// </summary>
89
public class LXLFuncParamsBase : BindableBase
910
{
11+
[JsonIgnore] public LXLFuncParamsBase Me { get => this; }
1012
/// <summary>
1113
/// 参数类型
1214
/// </summary>

src/LXLDevHelper/Views/EditFunctionWIndow.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
<DataGridTemplateColumn.CellEditingTemplate>
6363
<DataTemplate>
6464
<ComboBox HorizontalAlignment="Stretch" Text="{Binding ParamType,Mode=TwoWay}" IsEditable="True" ui:ControlHelper.CornerRadius="0"
65-
ItemsSource="{Binding AvaliableTypes,Mode=OneWay}" SelectionChanged="SelectTypeComboBox_SelectionChanged">
65+
Tag="{Binding Me,Mode=OneWay}" ItemsSource="{Binding AvaliableTypes,Mode=OneWay}" SelectionChanged="SelectTypeComboBox_SelectionChanged">
6666
<ComboBox.ToolTip>
6767
<StackPanel>
6868
<TextBlock Text="选择或手动输入类型"/>
@@ -71,7 +71,7 @@
7171
</ComboBox.ToolTip>
7272
<ComboBox.ContextMenu>
7373
<ContextMenu>
74-
<MenuItem Tag="{Binding ParamType,Mode=TwoWay}" Header="编辑匿名函数" Click="SelectTypeMenuItem_Click"/>
74+
<MenuItem Tag="{Binding Me,Mode=OneWay}" Header="编辑匿名函数" Click="SelectTypeMenuItem_Click"/>
7575
</ContextMenu>
7676
</ComboBox.ContextMenu>
7777
</ComboBox>

src/LXLDevHelper/Views/EditFunctionWIndow.xaml.cs

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -70,32 +70,18 @@ private void DeleteParams_Click(object sender, RoutedEventArgs e)
7070
}
7171
private void SelectTypeMenuItem_Click(object sender, RoutedEventArgs e)
7272
{
73-
var text = (string)((MenuItem)sender).Tag;
73+
var text = ((ViewModels.LXLFuncParamsBase)((MenuItem)sender).Tag).ParamType;
7474
var result = EditFunction(text);
75-
//System.Threading.Tasks.Task.Delay(1000).ContinueWith(_ =>
76-
//{
77-
// Dispatcher.InvokeAsync(() =>);//奇怪的bug,事件内直接改没效果,所以只能post到事件完成后运行
78-
//});
79-
((MenuItem)sender).Tag = result;
75+
((ViewModels.LXLFuncParamsBase)((MenuItem)sender).Tag).ParamType = result;
76+
8077
}
8178
private void SelectTypeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
8279
{
8380
var me = (ComboBox)sender;
8481
if (me.SelectedItem?.ToString() == "Function")
8582
{
86-
//e.Handled = true;
8783
var result = EditFunction("Function");
88-
//ShowWarn(result);
89-
System.Threading.Tasks.Task.Delay(1000).ContinueWith(_ =>
90-
{
91-
Dispatcher.InvokeAsync(() => {
92-
me.Text = result;
93-
ShowWarn(result);
94-
});//奇怪的bug,事件内直接改没效果,所以只能post到事件完成后运行
95-
});
96-
//me.Text = result;
97-
//ShowWarn(me.Text);
98-
//e.Handled = true;
84+
((ViewModels.LXLFuncParamsBase)me.Tag).ParamType = result;
9985
}
10086
}
10187
private string EditFunction(string text)

0 commit comments

Comments
 (0)