2013-02-25 172 views
0

什麼是執行綁定,如果我綁定到屬性(在這種情況下,上下文)是一個類(LatestReading類)其財產(的正確方法單位)數據綁定類的屬性與屬性另一類

datacontext設置爲類的根。這是我班的層次結構。 MonitoringPoint.LatestReading.Unit

<DataTemplate x:Key="TrackBallInfoTemplate" 
       DataType="{x:Type winGRAPH_Core:MonitoringNode}"> 
    <StackPanel Margin="3"> 
     <Grid Height="Auto"> 
      <StackPanel Height="Auto" 
         VerticalAlignment="Top" 
         Orientation="Horizontal"> 
       <TextBlock TextWrapping="Wrap"          
          Text="{Binding DataPoint.Value, FallbackValue=0.00}" 
          FontWeight="Bold" 
          FontSize="16" /> 
       <TextBlock TextWrapping="Wrap" 
          Text="{Binding LatestReading.Unit, FallbackValue=°C}" 
          Margin="2,3,0,0" /> 
      </StackPanel> 
     </Grid> 
     <Grid Height="Auto"> 
      <TextBlock TextWrapping="Wrap" 
         Text="{Binding DataPoint.Category, FallbackValue=time}" 
         d:LayoutOverrides="Width, Height" 
         FontStyle="Italic" 
         Margin="0,2,0,0" /> 
     </Grid> 
    </StackPanel> 
</DataTemplate> 
+0

你的意思是如果DataContext被設置爲一個類的實例(LatestReading在你的情況)? – ChrisWay 2013-02-25 11:50:27

+0

在這種情況下,DataContext設置爲根類。有層次結構。 MonitoringPoint.LatestReading.Unit – 2013-02-25 11:51:58

+0

因此,綁定僅僅因爲語法看起來不正確而不起作用。 Visual Studio輸出窗口中是否存在綁定錯誤? – ChrisWay 2013-02-25 11:58:21

回答

0

如果分配給您的DataContext類型是LatestReading那麼就使用物業Unit。 DataContext已經設置在更高的級別(,如果你記得設置它, - 忘記這是一個常見的錯誤)自動級聯到子控件。

+0

我的類層次結構是MonitoringPoint.LatestReading.Unit。 – 2013-02-25 11:53:46