一、禁止/生效
1、在Main类中增加公有静态方法changeRuleEnableByIndex
//变更Rule的Enable数据
public void changeRuleEnableByIndex(int index)
{
//获取数据
HostModel rule = mainData[index] as HostModel;
//变更状态
rule.Enable = !rule.Enable;
//重新写入文件
DataTool.writeConfigToFile();
}
2、新建GlobalEvent类,添加partial前缀,并且增加私有方法changeRuleEnable
//是否生效事件
private void changeRuleEnable(object sender, MouseButtonEventArgs e)
{
int index = Convert.ToInt32((sender as Rectangle).Tag.ToString());
//变更状态
Main.changeRuleEnableByIndex(index);
}
3、修改GlobalStyle.xaml中事件绑定类为GlobalEvent
4、给选中框添加MouseLeftButtonDown事件
<Rectangle Grid.Column="2" Tag="{Binding Path=Index}" MouseLeftButtonDown="changeRuleEnable" Visibility="{Binding Path=CheckHide}" Style="{StaticResource content_style_rect}"></Rectangle>
<Canvas Grid.Column="2" Width="12" Height="12" Visibility="{Binding Path=CheckShow}">
<Path Fill="#FFEC8E72" Data="M10.125 1.5l-5.625 5.625-2.625-2.625-1.875 1.875 4.5 4.5 7.5-7.5z" />
</Canvas>
<Rectangle Grid.Column="2" Tag="{Binding Path=Index}" MouseLeftButtonDown="changeRuleEnable" Visibility="{Binding Path=CheckShow}" Style="{StaticResource content_style_rect_check}"></Rectangle>
5、打包预览
二、双击修改
1、HostAlertUI类的构造函数增加index参数,并设置默认值为-1
2、HostAlertUI类添加_index属性,并在构造函数中初始化
private int _index;
public HostAlertUI(int index = -1)
{
_index = index;
InitializeComponent();
}
3、HostAlertUI类增加initInputText方法,并在构造函数中调用
#region 初始化输入框内容
private void initInputText()
{
//小于0代表是新增,直接返回
if (_index < 0)
{
return;
}
//获取数据
HostModel rule = Main.mainData[_index] as HostModel;
//设置数据
this.ip.Text = rule.IP;
this.port.Text = rule.Port;
this.url.Text = rule.Url;
}
#endregion
4、Main类中增加公有静态方法modifyRuleByIndex
//修改Rule数据
public static void modifyRuleByIndex(int index, string ip, string port, string url)
{
//获取规则
HostModel rule = mainData[inde