Category: Fehlerkorrektur


Während es in der finalen Version des Buches noch funktionierte, scheint nun der NumberFlicker aus Kapitel 4 nicht mehr zu funktionieren. Man bekommt die Zahl des benutzerdefinierten Steuerelements in der Ausführung nicht dargestellt.

Zeit also diesen Bug zu fixen.

Zuerst wurde die Variable in der NumberFlicker.xaml.cs-Datei in eine DependencyProperty geändert, damit die Datenbindung sauber funktioniert.

Der geänderte Quellcode sieht nun, wie folgt aus:

 1:         public static readonly DependencyProperty NumberValueProperty =
 2:               DependencyProperty.Register("NumberValue", typeof(int), typeof(FrameworkElement), new PropertyMetadata(0));
 3:    4:         public int NumberValue
 5:         {
 6:             get
 7:             {
 8:                 return (int) GetValue(NumberValueProperty);
 9:             }
 10:             set
 11:             {
 12:                 if (value == 10)
 13:                 {
 14:                     value = 0;
 15:                 }
 16:                 if (value == -1)
 17:                 {
 18:                     value = 9;
 19:                 }
 20:                 SetValue(NumberValueProperty, value);
 21:                 NotifyPropertyChanged("NumberValue");
 22:             }
 23:         }

Zusätzlich war eine Änderung am XAML Markup notwendig, in welcher die Bindungsdeklaration angepasst, wie auch die Vordergrundfarbe des TextBlock-Elements deklariert wurde.

Die geänderte Zeile sieht nun, wie folgt aus:

<TextBlock x:Name="numberTextBlock" TextWrapping="Wrap"
Text="{Binding NumberValue}" 
FontSize="64" FontFamily="Segoe WP" Margin="-30,-39,-30,-30" TextAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center"
Foreground="Black"
 />

Zwar ist damit immer noch nicht die Anzeige im Designer des Visual Studio möglich, jedoch ist das Steuerelement wieder benutzbar.

Die aktualisierte Variante gibt es hier als Download:

NumberFlickerSample

Advertisements

Guten Morgen liebe Leser!

Im Listing zum MultiScaleImage Kapitel 4 Seite 114 wurden beim Wert des Attributes Source die umgreifenden Anführungszeichen nicht abgedruckt. Die Korrektur schaut dann wie folgt aus:

<MultiScaleImage Source=“http://www.simonhackfort.de/DeepZoomSample/dzc_output.xml&#8220; …. />

Danke an Nguyen für den Hinweis!

Kapitel 4: Seite 193

Auch in Kapitel 4 hat sich ein Fehler eingeschlichen. Dort ist ein Satz zerstückelt, welcher im Original, wie folgt, lautet:
So wäre es im Fall einer existierenden MainPage und DetailsPage  notwendig, eine Ressourcendatei MainPageResources.resx und DetailsPageResources.resx und die zugehörigen länderspezifischen Ausprägungen von diesen zu erstellen.

Korrektur zur teilmarkierten CheckBox

Aufgrund der verschiedenen CTP-Wechsel hat sich ein kleiner Fehler beim Setzen des 3. Zustands der CheckBox eingeschlichen, welches im Listing 4.6 zu finden ist. Um eine CheckBox von Beginn an als teilmarkiert zu setzen, müssen Sie im XAML-Code den Wert {x:Null} für das Attribut IsChecked zuweisen. Im Code Behind geschieht dies durch die folgende Zeile: checkBox3.IsChecked = null;