2011-05-05 18 views
11

Sto cercando di ottenere una proprietà di dipendenza che funzioni in WPF. Sto utilizzando:DependencyProperty Valore predefinito

public static readonly DependencyProperty DisplayModeProperty = DependencyProperty.Register("DisplayMode", typeof (TescoFoodSummary), typeof (Orientation), new UIPropertyMetadata(Orientation.Vertical)); 
    /// <summary> 
    /// Gets or sets the orientation. 
    /// </summary> 
    /// <value>The orientation.</value> 
    public Orientation DisplayMode { 
     get { return (Orientation)base.GetValue(DisplayModeProperty); } 
     set { base.SetValue(DisplayModeProperty, value); } 
    } 

Quando ho inizializzare la finestra, ottengo un errore: tipo di valore predefinito non corrisponde al tipo di proprieta 'DisplayMode'. Tuttavia, se esco dal valore predefinito, ottengo un'eccezione di riferimento null quando la finestra viene caricata a causa della non impostazione di DisplayModeProperty.

+1

Il secondo parametro è la proprietà type, il terzo parametro è il tipo di controllo, sii attento, scambialo nel tuo esempio. – vorrtex

+0

Beh, quello è stato uno stupido errore. Grazie. – Echilon

+0

@vorrtex: Si prega di postare che come risposta ... –

risposta

13

Inserendo commento come risposta.

Secondo MSDN DependencyProperty.Register Method la sintassi sembra così:

public static DependencyProperty Register(
    string name, 
    Type propertyType, 
    Type ownerType, 
    PropertyMetadata typeMetadata 
) 

Nel tuo caso ownerType è TescoFoodSummary e propertyType è Orientation, quindi parametri hanno le seguenti posizioni:

DependencyProperty.Register("DisplayMode", typeof (Orientation), typeof (TescoFoodSummary), new UIPropertyMetadata(Orientation.Vertical)); 
+0

Grazie, un errore facile da fare. – Echilon

Problemi correlati