none
请教 Adorner里的TextBlock 如何绑定 被装饰的元素的 某属性? RRS feed

  • 问题

  •     <UserControl.Resources>
            <selector:ItemsControlTemplateSelector x:Key="DataTemplateSelector" />
            <viewmodel:图层ViewModel x:Key="DataSource" />
            <!--TopView-->
            <DataTemplate x:Key="LineDataTemplate">
                <AdornerDecorator>
                    <Line Name="l" X1="{Binding Path=X1}" Y1="{Binding Path=Y1}" 
                               X2="{Binding Path=X2}" Y2="{Binding Path=Y2}" 
                               Stroke="{Binding Path=Stroke}" StrokeThickness="1"   >
                        <i:Interaction.Triggers>
                            <i:EventTrigger EventName="MouseLeftButtonDown" >
                                <command:ExInvokeCommandAction  Command="{Binding Path=LineMouseDownCommand,Source={StaticResource DataSource}}"  
                                                            CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=Line,Mode=FindAncestor},Path=DataContext}"/>
                            </i:EventTrigger>
                            <i:EventTrigger EventName="MouseMove" >
                                <command:ExInvokeCommandAction IsEnabled="False"   Command="{Binding Path=LineMouseMoveCommand,Source={StaticResource DataSource}}"
                                                             CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=Line,Mode=FindAncestor},Path=DataContext}" />
                            </i:EventTrigger>
                            <i:EventTrigger EventName="MouseLeftButtonUp">
                                <command:ExInvokeCommandAction IsEnabled="False"  Command="{Binding Path=LineMouseUpCommand,Source={StaticResource DataSource}}" 
                                                            CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=Line,Mode=FindAncestor},Path=DataContext}" />
                            </i:EventTrigger>
                        </i:Interaction.Triggers>
                        <adorner:ContentAdorner.AdornerContentTemplate >
                            <DataTemplate>
                                <TextBlock Name="tbl"  Foreground="White" Opacity="0.5" IsHitTestVisible="False" />
                            </DataTemplate>
                        </adorner:ContentAdorner.AdornerContentTemplate>
                    </Line>
                </AdornerDecorator>
            </DataTemplate>

     <adorner:ContentAdorner.AdornerContentTemplate >
                            <DataTemplate>
                                <TextBlock Name="tbl"  Foreground="White" Opacity="0.5" IsHitTestVisible="False" />
                            </DataTemplate>
                        </adorner:ContentAdorner.AdornerContentTemplate>

    Line 的DataContext是个 对象 里面包括 X1 X2 Y1 Y2 Stroke 线长 属性..

    我想 把这里的  TextBlock 的 Text属性 绑定 Line的 DataContext的属性 "线长" 

    请问这个该如何操作, 我尝试在 Adorner里获取 Line对象 和 DataContext的 线长 但是绑定了却不起作用...


    Everyone Is NO.1

    • 已更改类型 MakubeXSoft 2012年6月27日 7:24 是问题. 未解决
    • 已更改类型 MakubeXSoft 2012年6月27日 7:24 是问题. 未解决
    2012年6月18日 2:39

答案

全部回复