0

在我的 ListBox ItemTemplate 中,我想设置 TextBlock UnderLine。作为流:

    <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。

datebinding 时如何获取 ActualWidth 值?

4

1 回答 1

1

您无法在绑定中获得 ActualWidth,因为它不是 DependencyProperty。您可以使用边框在底部获得一条线

<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>
于 2012-08-07T06:34:12.417 回答