WPF

2010-08-04 15 views
18

'daki bir ataya bağlanma Bir derlemede, bir windows bloğunun DataContext'inin özelliği olan bir sınıfın Mülkiyet değerine bağlanmak istediğim bir TextBlock denetimine sahip bir pencerem var. DataContext olarak hizmet veren sınıf sadece ikinci grup içinde tanımlanmıştır. Sorum, bağlayıcı türümde Tür olarak belirtmek için ne tür bir ihtiyacım var. DataContext'in iki grup arasında ortak olan özelliğinin türünü kullanabilir miyim veya DataContext'in türünü kullanmam gerekir mi?WPF

aşağıda bunun çalışması gerektiğini düşünüyorum nasıl bir prototipi ama değil çünkü bazı şeylerden karıştı :)

Montaj 1.
Pencere

<TextBlock 
    Text="{Binding RelativeSource={RelativeSource 
     AncestorType={x:Type client:Client}}, Path=Name }"/> 

Montaj # 2
Uygulama Kabuğu

class Shell 
{ 
    public Client Client { get { return client; } set { client = value; } } 
    OnStartup() 
    { 
      NavigationWindow window = new NavigationWindow(); 
      window.DataContext = this; 
      window.Navigate(GetHomeView()); 
    } 
} 

cevap

45

şu çalışmalıdır: trick yaptığını

<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, 
                 AncestorType={x:Type Window}}, 
                 Path=DataContext.Client.Name}" /> 
+0

Müthiş! – Tedford