* Rimosso il pulsante "Vai" e reso il campo URL non editabile. * Introdotta persistenza delle impostazioni predefinite (es. anticipo). * Aggiunto metodo `LoadDefaultSettings()` per caricare i defaults. * Logging dettagliato per salvataggio e applicazione impostazioni. * Ottimizzata gestione aste con valori predefiniti da configurazione. * Fix per evitare puntate inutili quando l'utente è già vincitore. * Logging migliorato per strategia di puntata e decisioni di skip. * Aggiornata documentazione con dettagli sui fix implementati. * Aggiornato `CHANGELOG.md` con le nuove funzionalità e correzioni.
7.6 KiB
?? Fix URL Browser - Campo Non Editabile
Problema Rilevato
Nella scheda Browser:
- ? L'indirizzo URL della pagina corrente non era sempre visibile nel campo in alto
- ? Il campo era editabile, permettendo di inserire URL personalizzati (funzionalità non ancora implementata)
- ? Il pulsante "Vai" era presente ma non funzionale
Causa del Problema
Il TextBox BrowserAddress era configurato come campo editabile standard:
<!-- ? PRIMA -->
<TextBox x:Name="BrowserAddress"
VerticalAlignment="Center"
BorderThickness="0"
Background="Transparent"
Foreground="#CCCCCC"
Padding="10,0"
FontSize="13"/>
<!-- Mancava IsReadOnly="True" -->
L'URL veniva aggiornato correttamente negli eventi NavigationStarting e NavigationCompleted, ma:
- Il campo era modificabile dall'utente
- Il pulsante "Vai" suggeriva una funzionalità non implementata
Soluzione Implementata
? 1. Campo URL Non Editabile
Aggiunto IsReadOnly="True" al TextBox:
<!-- ? DOPO -->
<TextBox x:Name="BrowserAddress"
VerticalAlignment="Center"
BorderThickness="0"
Background="Transparent"
Foreground="#CCCCCC"
Padding="10,0"
FontSize="13"
IsReadOnly="True"
Cursor="Arrow"
ToolTip="Indirizzo della pagina corrente (non editabile)"/>
Caratteristiche:
- ?
IsReadOnly="True"- Non modificabile - ?
Cursor="Arrow"- Mostra cursore normale (non testo) - ?
ToolTip- Spiega che il campo è solo visualizzazione
? 2. Rimosso Pulsante "Vai"
Eliminato il pulsante "Vai" non necessario:
Prima:
<Button x:Name="BrowserGoButton"
Content="Vai"
Click="BrowserGoButton_Click"/>
Dopo: Pulsante rimosso ?
? 3. Mantenuto Aggiornamento Automatico
L'URL viene ancora aggiornato automaticamente in MainWindow.EventHandlers.Browser.cs:
private void EmbeddedWebView_NavigationStarting(...)
{
BrowserAddress.Text = e.Uri ?? string.Empty;
// ...
}
private void EmbeddedWebView_NavigationCompleted(...)
{
var uri = EmbeddedWebView?.Source?.ToString() ?? BrowserAddress.Text;
BrowserAddress.Text = uri;
// ...
}
Comportamento Atteso
? Scenario 1: Navigazione Normale
- Apri scheda Browser
- Vai su
https://it.bidoo.com - ? URL appare nel campo in alto:
https://it.bidoo.com/ - Clicca link in pagina ? Vai a
https://it.bidoo.com/auction.php?a=asta_12345 - ? URL si aggiorna automaticamente nel campo
? Scenario 2: Campo Non Editabile
- Apri scheda Browser
- Prova a cliccare nel campo URL
- ? Non puoi modificare il testo
- ? Cursore rimane freccia (non diventa testo)
- ? Tooltip mostra: "Indirizzo della pagina corrente (non editabile)"
? Scenario 3: Navigazione con Pulsanti
- Usa "Indietro" / "Avanti" / "Ricarica" / "Home"
- ? URL si aggiorna automaticamente
- ? Campo mostra sempre l'indirizzo corrente
? Scenario 4: Aggiunta Asta
- Naviga su un'asta:
https://it.bidoo.com/auction.php?a=asta_12345 - ? URL visibile nel campo
- Clicca "Aggiungi Asta"
- ? L'URL dal campo viene usato per aggiungere l'asta
Vantaggi della Soluzione
?? 1. UX Chiara
- ? Prima: Campo editabile ma funzionalità non implementata
- ? Dopo: Campo read-only, comportamento chiaro
?? 2. Nessuna Confusione
- ? Prima: Pulsante "Vai" che non faceva nulla
- ? Dopo: Solo funzionalità implementate visibili
?? 3. Visualizzazione Sempre Aggiornata
- ? URL aggiornato automaticamente ad ogni navigazione
- ? Sincronizzato con WebView2
?? 4. Preparato per Futuro
Se in futuro si implementa la navigazione manuale:
- Basta rimuovere
IsReadOnly="True" - Ri-aggiungere pulsante "Vai"
- Tutto il resto già funziona
File Modificati
1. ? Controls\BrowserControl.xaml
Modifiche:
- Aggiunto
IsReadOnly="True"aBrowserAddress - Aggiunto
Cursor="Arrow"per UX migliore - Aggiunto
ToolTipesplicativo - Rimosso pulsante "Vai" (BrowserGoButton)
Prima:
<TextBox x:Name="BrowserAddress" ... />
<Button x:Name="BrowserGoButton" Content="Vai" Click="BrowserGoButton_Click"/>
<Button x:Name="BrowserAddAuctionButton" Content="Aggiungi Asta" .../>
Dopo:
<TextBox x:Name="BrowserAddress" IsReadOnly="True" Cursor="Arrow" ToolTip="..." />
<Button x:Name="BrowserAddAuctionButton" Content="Aggiungi Asta" .../>
2. ? Controls\BrowserControl.xaml.cs
Modifiche:
- Rimosso metodo
BrowserGoButton_Click - Evento
BrowserGoClickedEventlasciato per compatibilità (non usato)
3. ? Core\EventHandlers\MainWindow.EventHandlers.Browser.cs
Modifiche:
- Rimosso gestore
BrowserGoButton_Click - Mantenuti gestori
NavigationStartingeNavigationCompleted
4. ? MainWindow.xaml
Modifiche:
- Rimosso binding
BrowserGoClicked="Browser_BrowserGoClicked"
Layout Browser
Toolbar Nuovo
??????????????????????????????????????????????????????????????
? [Indietro] [Avanti] [Ricarica] [Home] ?URL? [Aggiungi] ?
??????????????????????????????????????????????????????????????
Prima:
[Indietro] [Avanti] [Ricarica] [Home] [URL editabile] [Vai] [Aggiungi]
Dopo:
[Indietro] [Avanti] [Ricarica] [Home] [URL read-only] [Aggiungi Asta]
Note Tecniche
Perché IsReadOnly invece di Disabilitato?
| Proprietà | Effetto | Pro | Contro |
|---|---|---|---|
IsEnabled="False" |
? Disabilitato | Chiaro che non è usabile | Testo grigio, difficile da leggere |
IsReadOnly="True" |
? Read-only | Testo leggibile, copiabile | Potrebbe sembrare editabile |
Scelta: IsReadOnly="True" + Cursor="Arrow" + ToolTip
- ? Testo leggibile e copiabile
- ? Cursore chiarisce che non è editabile
- ? Tooltip spiega il comportamento
Aggiornamento URL
L'URL viene aggiornato in 2 eventi:
-
NavigationStarting: Quando inizia la navigazioneBrowserAddress.Text = e.Uri ?? string.Empty; -
NavigationCompleted: Quando la navigazione finisceBrowserAddress.Text = EmbeddedWebView?.Source?.ToString() ?? BrowserAddress.Text;
Perché entrambi?
NavigationStarting: Mostra subito dove stai andandoNavigationCompleted: Aggiorna con URL finale (dopo redirect)
Funzionalità Future
Se si vuole Navigazione Manuale
- Rimuovi
IsReadOnly="True"da BrowserAddress - Ri-aggiungi pulsante "Vai":
<Button Content="Vai" Click="BrowserGoButton_Click"/> - Implementa gestore:
private void BrowserGoButton_Click(...) { var url = BrowserAddress.Text?.Trim(); if (!url.StartsWith("http")) url = "https://" + url; EmbeddedWebView?.CoreWebView2?.Navigate(url); }
Se si vuole Autocompletamento
- Sostituisci
TextBoxconComboBoxeditabile - Popola con cronologia navigazione
- Usa
IsEditable="True"+ suggerimenti
? Test di Verifica
- URL visibile nel campo in alto
- URL si aggiorna automaticamente
- Campo non editabile (IsReadOnly)
- Cursore freccia (non testo)
- Tooltip informativo
- Pulsante "Vai" rimosso
- Pulsante "Aggiungi Asta" funziona
- Navigazione con Indietro/Avanti funziona
- URL copiabile con Ctrl+C
Data Fix: 2025
Versione: 4.0+
Issue: URL Browser non visibile e editabile
Status: ? RISOLTO
Riepilogo
Prima:
- ? URL non sempre visibile
- ? Campo editabile (ma non funzionante)
- ? Pulsante "Vai" non implementato
Dopo:
- ? URL sempre visibile e aggiornato
- ? Campo read-only (chiaro e leggibile)
- ? Solo funzionalità implementate disponibili
- ? UX pulita e coerente