2016-03-28 3 views
3

Ich habe ein benutzerdefiniertes Steuerelement LineChart. Code in xaml.cs:UWP Fehler beim Zuweisen eines Eigenschaftsfehlers im benutzerdefinierten Steuerelement

public static readonly DependencyProperty StrokeProperty = 
     DependencyProperty.Register("StrokeProperty", typeof(Brush), typeof(LineChart), new PropertyMetadata(new SolidColorBrush(), 
      new PropertyChangedCallback(OnItemsChanged))); 

public Brush Stroke 
{ 
    get { return (Brush)GetValue(StrokeProperty); } 
    set { SetValue(StrokeProperty, value); } 
} 

Im Hinblick Modellklasse:

public Brush Abc 
{ 
    get { return new SolidColorBrush(new Color() {A = 123, B = 123, G = 23, R = 12 }); } 
} 

In anderer Seite:

<controls:LineChart Stroke="{Binding Abc}" /> 

alles funktioniert gut mit statischer Codezeile Stroke="Green", aber wenn ich Binding, Programm fehlerhaft mit Fehler:

Windows.UI.Xaml.Markup.XamlParseException: The text associated with this error code could not be found.

Failed to assign to property CurrencyExchangeUniversal.App.Controls.LineChart.Stroke'. [Line: 102 Position: 41] at Windows.UI.Xaml.Application.LoadComponent(Object component, Uri resourceLocator, ComponentResourceLocation componentResourceLocation) at CurrencyExchangeUniversal.App.View.NationalBankPage.InitializeComponent() at CurrencyExchangeUniversal.App.View.NationalBankPage..ctor()

+0

Was ist die Art von Abc? – Archana

+0

Hinzugefügt Code für 'Abc' –

+0

Scheint wie Binding ist richtig. OnItemsChanged-Methode überprüfen – Archana

Antwort

3

Sie haben einen Fehler in Ihrem DependencyProperty.Register Anruf gemacht. Das erste Argument Wert sollte "Stroke", nicht "StrokeProperty" sein:

public static readonly DependencyProperty StrokeProperty = 
     DependencyProperty.Register("Stroke", typeof(Brush), typeof(LineChart), new PropertyMetadata(new SolidColorBrush(), 
      new PropertyChangedCallback(OnItemsChanged))); 
+0

Ein Problem bei StackOverflow passiert mir viel zu oft: Ich habe nicht den gleichen Fehler gemacht wie der Fragesteller, und ich habe immer noch das gleiche Problem. Da diese Frage "geantwortet" ist, scheint ich jetzt keine Lösung zu finden :( –

Verwandte Themen