Sto lavorando a un progetto WPF VS 2012 Express (codice C# code-behind) e ricevo l'errore "È stato rilevato un loop nelle espressioni di proprietà". Ora, prima di continuare, so perché lo sto capendo - non sono sicuro di cosa fare al riguardo o se debba essere gestito anche perché, anche se compare nell'elenco degli errori ed è sottolineato in blu, il il programma si compila e funziona bene. Ho cercato su Google questo e ovviamente i risultati sono cambiati. La mia domanda è un in due parti ma in primo luogo, ecco il riassunto:È stato rilevato un loop nelle espressioni di proprietà
Il codice incriminato:
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
<!-- setter properties -->
</Style>
Come si può vedere, si tratta di uno stile per Button che fa riferimento a Button, che è ciò che provoca il problema. La prima soluzione che ho letto coinvolto separare il codice in questo modo:
<Style x:Key="ButtonStyleToApply" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
<!-- setter properties -->
</Style>
<!-- and in another style dictionary, -->
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ButtonStyleToApply}"/>
... e poi i due insiemi di stile andare in diversi dizionari. Ovviamente, questo non ha funzionato - VS ha ancora fiutato ciò che stavo facendo, ma è ancora compilato e funziona bene. Ora ecco un'altra soluzione alternativa:
"Sono stati apportati alcuni cambiamenti architetturali in XAML Designer in Visual Studio che ha regredito questo scenario. Lavoreremo per migliorare questa esperienza in futuro ma in questo momento è possibile risolvere questo problema con non definendo le risorse nell'oggetto Application (App.xaml) ma definendole nel documento locale (MainPage.xaml) "
Questo è stato pubblicato in una richiesta di supporto tecnico Here. (Connect.Microsoft.Com)
Ma mi fido delle mani sull'esperienza di ogni uomo. Cosa possono dirmi i miei colleghi programmatori? La mia domanda è un due parter. 1. Devo anche preoccuparmi di risolvere il problema se il programma è in fase di compilazione? E 2. Se sono a posto, c'è un modo per dire a VS di ignorarlo? So che ignorarlo da parte mia o VS è probabilmente considerato "cattiva pratica" ma oltre ...?
solo per FYI: si prega di non includere i nomi dei tag nei titoli; il software si prende cura di questo per te. Vedi: http://meta.stackexchange.com/questions/130242/using-tags-in-question-titles –
capito, grazie :) –