WPF è un grande set di strumenti, e l'associazione XAML è molto potente, ma spesso mi imbatto in difficoltà derivanti dalla sua trasparenza: può essere difficile eseguire il debug di un errore di associazione dati quando non vengono generati errori.Esiste un buon strumento per eseguire il debug del comportamento/degli errori del database XAML in fase di esecuzione?
Per esempio, di recente ho dovuto cambiare una dichiarazione Style
come questo:
<DataGrid.RowStyle>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding TestProperty}" Value="False">
<Setter Property="DataGridRow.Background" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
In questa:
<DataGrid.RowStyle>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.TestProperty}" Value="False">
<Setter Property="DataGridRow.Background" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
Affinché la proprietà DataGridRow a essere colpiti. Sarebbe incredibilmente utile vedere, in fase di progettazione o di esecuzione, quali sarebbero le implicazioni del collegamento a fonti diverse e a RelativeSource
s.
Esistono questi strumenti/tecniche?
Questo sicuramente ha aiutato - accettato! Per completezza, dal momento che ispezionare l'albero visivo in fase di esecuzione è una preoccupazione correlata, vorrei anche sottolineare [Snoop] (http://www.blois.us/Snoop/) a chiunque non si accorga del suo fascino. –
La versione più recente di Snoop può essere trovata su CodePlex: http://snoopwpf.codeplex.com/ –
Mi è stato utile il corretto Tracelevel nella finestra di output. Opzioni> Debug> Finestra di output> Associazione dati. Come descritto qui: http://karlshifflett.wordpress.com/2010/06/24/visual-studio-2010-wpf-trace-settings-default-is- incorrect – uli78