0

私がバインドするプロパティ(この場合はコンテキスト)がそのプロパティ(Unit)を持つクラス(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>
4

1 に答える 1

0

DataContext に割り当てられた型が の場合はLatestReading、プロパティを使用してくださいUnit。より高いレベルで既に設定されている DataContext (設定を覚えていた場合 - 忘れがちなよくある間違い) は、自動的に子コントロールにカスケードされます

于 2013-02-25T11:50:35.420 に答える