修复淘宝买手切换卡死问题

This commit is contained in:
wule_5900x committed 2026-10-18 09:36:18 +08:00
1 parent 52b1e9eb90
commit 7c5f083784
3 files changed
+107 -65

No files matched your search

@@ -18,14 +18,6 @@
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image
Width="24"
Height="24"
Margin="4,0,0,0"
Cursor="Hand"
MouseLeftButtonUp="Image_MouseLeftButtonUp"
Source="{StaticResource imgBuyerOrder}" />
<wpf:SpacingStackPanel
@@ -34,7 +26,16 @@
Orientation="Vertical"
VerticalSpacing="2">
<WrapPanel x:Name="wpPddBuyer">
<CheckBox
<Image
Width="24"
Height="24"
Margin="4,0,0,0"
Cursor="Hand"
MouseLeftButtonUp="Image_MouseLeftButtonUp"
Source="{StaticResource imgBuyerOrder}" />
<CheckBox
x:Name="chkPddBuyerLogin"
Margin="2,2,2,2"
HorizontalAlignment="Left"
@@ -121,7 +122,16 @@
d:Visibility="Visible"
Visibility="Visible">
<CheckBox
<Image
x:Name="imgTb"
Width="24"
Height="24"
Margin="4,0,0,0"
Cursor="Hand"
MouseLeftButtonUp="imgTb_MouseLeftButtonUp"
Source="{StaticResource imgBuyerOrder}" />
<CheckBox
x:Name="chkTbBuyerLogin"
Margin="2,2,2,2"
HorizontalAlignment="Left"
@@ -152,36 +152,47 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
int buyZIndex = 2;
private void Image_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
if (/*wpPddBuyer.Visibility == Visibility.Visible*/ chkPddBuyerLogin.IsChecked == true)
{
if (MainWindow.Instance.gridTbBuyerOrderReadCtrl.Visibility != Visibility.Visible)
MainWindow.Instance.gridTbBuyerOrderReadCtrl.Visibility = Visibility.Visible;
if (Panel.GetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl) < 1)
Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, 1);
else
Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, -1);
Panel.SetZIndex(MainWindow.Instance.pddBuyerOrderReadCtrl, buyZIndex++);
MainWindow.Instance.pddBuyerOrderReadCtrl.Visibility = Visibility.Visible;
MainWindow.Instance.tbBuyerOrderReadCtrl.Visibility = Visibility.Visible;
}
else if (/*wpTaobaoBuyer.Visibility == Visibility.Visible*/ chkTbBuyerLogin.IsChecked == true)
{
if (MainWindow.Instance.gridTbBuyerOrderReadCtrl.Visibility != Visibility.Visible)
MainWindow.Instance.gridTbBuyerOrderReadCtrl.Visibility = Visibility.Visible;
if (Panel.GetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl) < 1)
Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, 1);
else
Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, -1);
Panel.SetZIndex(MainWindow.Instance.tbBuyerOrderReadCtrl, buyZIndex++);
MainWindow.Instance.pddBuyerOrderReadCtrl.Visibility = Visibility.Visible;
MainWindow.Instance.tbBuyerOrderReadCtrl.Visibility = Visibility.Visible;
}
if (MainWindow.Instance.gridTbBuyerOrderReadCtrl.Visibility != Visibility.Visible)
MainWindow.Instance.gridTbBuyerOrderReadCtrl.Visibility = Visibility.Visible;
if (Panel.GetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl) < 1)
Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, 1);
else
{
Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, -1);
}
Panel.SetZIndex(MainWindow.Instance.pddBuyerOrderReadCtrl, buyZIndex++);
MainWindow.Instance.pddBuyerOrderReadCtrl.Visibility = Visibility.Visible;
MainWindow.Instance.tbBuyerOrderReadCtrl.Visibility = Visibility.Visible;
//if (/*wpPddBuyer.Visibility == Visibility.Visible*/ chkPddBuyerLogin.IsChecked == true)
//{
// if (MainWindow.Instance.gridTbBuyerOrderReadCtrl.Visibility != Visibility.Visible)
// MainWindow.Instance.gridTbBuyerOrderReadCtrl.Visibility = Visibility.Visible;
// if (Panel.GetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl) < 1)
// Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, 1);
// else
// Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, -1);
// Panel.SetZIndex(MainWindow.Instance.pddBuyerOrderReadCtrl, buyZIndex++);
// MainWindow.Instance.pddBuyerOrderReadCtrl.Visibility = Visibility.Visible;
// MainWindow.Instance.tbBuyerOrderReadCtrl.Visibility = Visibility.Visible;
//}
//else if (/*wpTaobaoBuyer.Visibility == Visibility.Visible*/ chkTbBuyerLogin.IsChecked == true)
//{
// if (MainWindow.Instance.gridTbBuyerOrderReadCtrl.Visibility != Visibility.Visible)
// MainWindow.Instance.gridTbBuyerOrderReadCtrl.Visibility = Visibility.Visible;
// if (Panel.GetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl) < 1)
// Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, 1);
// else
// Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, -1);
// Panel.SetZIndex(MainWindow.Instance.tbBuyerOrderReadCtrl, buyZIndex++);
// MainWindow.Instance.pddBuyerOrderReadCtrl.Visibility = Visibility.Visible;
// MainWindow.Instance.tbBuyerOrderReadCtrl.Visibility = Visibility.Visible;
//}
//else
//{
// Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, -1);
//}
}
@@ -324,8 +335,9 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
}
}
private void chkBuyerLogin_Click(object sender, RoutedEventArgs e)
private async void chkBuyerLogin_Click(object sender, RoutedEventArgs e)
{
if (sender == chkPddBuyerLogin)
{
chkPddBuyerLogin.IsChecked = true;
@@ -337,8 +349,11 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
//OrderListCtrl.InitOrderObservableProp(order);
foreach (var orderItem in order.orderItems)
{
orderItem.UpdateOrderItemBuyButton();
orderItem.SetAbnormalAndDirectBtnVisibility();
await Task.Run(() =>
{
orderItem.UpdateOrderItemBuyButton();
orderItem.SetAbnormalAndDirectBtnVisibility();
});
}
}
}
@@ -353,11 +368,28 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
//OrderListCtrl.InitOrderObservableProp(order);
foreach (var orderItem in order.orderItems)
{
orderItem.UpdateOrderItemBuyButton();
orderItem.SetAbnormalAndDirectBtnVisibility();
await Task.Run(() =>
{
orderItem.UpdateOrderItemBuyButton();
orderItem.SetAbnormalAndDirectBtnVisibility();
});
}
}
}
}
private void imgTb_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
if (MainWindow.Instance.gridTbBuyerOrderReadCtrl.Visibility != Visibility.Visible)
MainWindow.Instance.gridTbBuyerOrderReadCtrl.Visibility = Visibility.Visible;
if (Panel.GetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl) < 1)
Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, 1);
else
Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, -1);
Panel.SetZIndex(MainWindow.Instance.tbBuyerOrderReadCtrl, buyZIndex++);
MainWindow.Instance.pddBuyerOrderReadCtrl.Visibility = Visibility.Visible;
MainWindow.Instance.tbBuyerOrderReadCtrl.Visibility = Visibility.Visible;
}
}
}
@@ -270,22 +270,6 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
Thread.Sleep(1);
Dispatcher.Invoke(new Action(() =>
{
if (cefShowShopOrderLstWebBrowser == null)
{
cefShowShopOrderLstWebBrowser = WPFCEFBrowser.CreateChromiumWebBrowser("about:blank", false);
LocalResourceRequestHandler resourceRequestHandler = new LocalResourceRequestHandler();
resourceRequestHandler.ResourceLoadCompleteEvent += RequestHandler_ResourceLoadComplete;
resourceRequestHandler.BeforeResourceLoadEvent += RequestHandler_BeforeResourceLoad;
cefShowShopOrderLstWebBrowser.RequestHandler = new LocalRequestHandler(resourceRequestHandler);
var lifeSapnHandler = new LocalLifeSpanHandler(PopWindowType.SelfWindow);
cefShowShopOrderLstWebBrowser.LifeSpanHandler = lifeSapnHandler;
cefShowShopOrderLstWebBrowser.KeyboardHandler = new CefKeyboardHandler();
cefShowShopOrderLstWebBrowser.FrameLoadEnd += CefWebBrowser_FrameLoadEnd;
cefShowShopOrderLstWebBrowser.AddressChanged += CefWebBrowser_AddressChanged;
cefShowShopOrderLstWebBrowser.LoadError += CefWebBrowser_LoadError;
Grid.SetRow(cefShowShopOrderLstWebBrowser, 0);
this.GridCef.Children.Add(cefShowShopOrderLstWebBrowser);
}
if (cefWebBrowser == null)
{
cefWebBrowser = WPFCEFBrowser.CreateChromiumWebBrowser("about:blank", false);
@@ -305,6 +289,22 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
if (buyer.wpf_browser == null)
buyer.wpf_browser = cefWebBrowser;
if (cefShowShopOrderLstWebBrowser == null)
{
cefShowShopOrderLstWebBrowser = WPFCEFBrowser.CreateChromiumWebBrowser("about:blank", false);
LocalResourceRequestHandler resourceRequestHandler = new LocalResourceRequestHandler();
resourceRequestHandler.ResourceLoadCompleteEvent += RequestHandler_ResourceLoadComplete;
resourceRequestHandler.BeforeResourceLoadEvent += RequestHandler_BeforeResourceLoad;
cefShowShopOrderLstWebBrowser.RequestHandler = new LocalRequestHandler(resourceRequestHandler);
var lifeSapnHandler = new LocalLifeSpanHandler(PopWindowType.SelfWindow);
cefShowShopOrderLstWebBrowser.LifeSpanHandler = lifeSapnHandler;
cefShowShopOrderLstWebBrowser.KeyboardHandler = new CefKeyboardHandler();
cefShowShopOrderLstWebBrowser.FrameLoadEnd += CefWebBrowser_FrameLoadEnd;
cefShowShopOrderLstWebBrowser.AddressChanged += CefWebBrowser_AddressChanged;
cefShowShopOrderLstWebBrowser.LoadError += CefWebBrowser_LoadError;
Grid.SetRow(cefShowShopOrderLstWebBrowser, 0);
this.GridCef.Children.Add(cefShowShopOrderLstWebBrowser);
}
}));
}
}
@@ -2674,7 +2674,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
Panel.SetZIndex(MainWindow.Instance.gridTbBuyerOrderReadCtrl, -1);
}
private void CheckBox_Click(object sender, RoutedEventArgs e)
private async void CheckBox_Click(object sender, RoutedEventArgs e)
{
if (sender is CheckBox chk)
{
@@ -2695,18 +2695,18 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
//t.Wait();
foreach (var cook in cookieLst)
{
var t = WPFCEFBrowser.SetCookieAsync(cook.Domain.Trim('.'), cook.Name + "=" + cook.Value + ";", cefShowShopOrderLstWebBrowser.GetCookieManager(null));
t.Wait(5000);
await WPFCEFBrowser.SetCookieAsync(cook.Domain.Trim('.'), cook.Name + "=" + cook.Value + ";", cefShowShopOrderLstWebBrowser.GetCookieManager(null));
}
Panel.SetZIndex(this.cefShowShopOrderLstWebBrowser, maxZIndex++);
cefShowShopOrderLstWebBrowser.Load("https://buyertrade.taobao.com/trade/itemlist/list_bought_items.htm?");
}
}
}
//if (e.Source)
}
private void txtBuyerNick_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
private async void txtBuyerNick_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (sender is TextBox txt)
{
@@ -2727,11 +2727,11 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
//t.Wait();
foreach (var cook in cookieLst)
{
var t = WPFCEFBrowser.SetCookieAsync(cook.Domain.Trim('.'), cook.Name + "=" + cook.Value + ";", cefShowShopOrderLstWebBrowser.GetCookieManager(null));
t.Wait(5000);
await WPFCEFBrowser.SetCookieAsync(cook.Domain.Trim('.'), cook.Name + "=" + cook.Value + ";", cefShowShopOrderLstWebBrowser.GetCookieManager(null));
}
Panel.SetZIndex(this.cefShowShopOrderLstWebBrowser, maxZIndex++);
cefShowShopOrderLstWebBrowser.Load("https://buyertrade.taobao.com/trade/itemlist/list_bought_items.htm?");
}
}
}