2012-08-07 2 views
0

내 ListBox의 ItemTemplate 내 TextBlock UnderLine을 설정하고 싶습니다. fllow로 :DataBinding을 사용할 때 라인 X 값을 설정하는 방법은 무엇입니까?

<StackPanel x:Name="TaskContent_SP" Orientation="Horizontal" Background="#16191B" Height="80" Width="455" > 
            <Grid x:Name="DonePreDragCoreItem_GD" > 
             <TextBlock x:Name="TaskNameItem_TB" Canvas.ZIndex="0" Text="{Binding TaskName}" Margin="10,10,10,10" HorizontalAlignment="Left" Foreground="#414444" FontWeight="ExtraLight" FontSize="30"></TextBlock> 
             <Line x:Name="DoneForgroundLine_LE" Stroke="#414444" StrokeThickness="4" 
               X1="0" X2="{Binding ElementName=TaskNameItem_TB,Path=ActualWidth}"            
               Canvas.ZIndex="1" Margin="10,33,10,10"></Line> 
            </Grid> 
           </StackPanel> 

내가 데이터 바인딩을 사용하지 않는 경우는 TextBlock의 텍스트 값을 설정합니다. ActualWidth는 정상적인 값을가집니다. 그렇지 않으면 여전히 0입니다.

날짜 바인딩시 ActualWidth 값을 얻는 방법은?

답변

1

DependencyProperty가 아니기 때문에 바인딩에서 ActualWidth를 가져올 수 없습니다. 테두리를 사용하여 아래쪽에 선을 얻을 수 있습니다.

<Border BorderThickness="0,0,0,1" BorderBrush="Black"> 
    <TextBlock x:Name="TaskNameItem_TB" Text="{Binding TaskName}" Margin="10,10,10,10" HorizontalAlignment="Left" Foreground="#414444" FontWeight="ExtraLight" FontSize="30"/> 
</Border> 
+0

감사합니다. 그것은 일이 될 수 있습니다. –

관련 문제