La vinculación a ColumnDefinition.ActualWidth no tiene ningún efecto

Estoy tratando de vincularme al ActualWidth de una columna, pero la vinculación no parece funcionar. En el siguiente ejemplo, el TextBlock con el enlace siempre es 0, pero el TextBlock actualizado a través del código informa el número correcto. ¿Qué esta pasando?

XAML:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" Name="MainColumn" />
    </Grid.ColumnDefinitions>
    <StackPanel>
        <TextBlock Text="From Binding:" />
        <TextBlock Text="{Binding ElementName=MainColumn, Path=ActualWidth}" />
        <TextBlock Text="From Code:" />
        <TextBlock Text="" Name="WidthFromCodeTextBlock" />
    </StackPanel>
    <GridSplitter HorizontalAlignment="Right" Width="5" DragDelta="GridSplitter_DragDelta" />
</Grid>

Código:

private void GridSplitter_DragDelta(object sender, System.Windows.Controls.Primitives.DragDeltaEventArgs e)
{
    WidthFromCodeTextBlock.Text = MainColumn.ActualWidth.ToString();
}

preguntado el 05 de febrero de 12 a las 01:02

1 Respuestas

No es una propiedad de dependencia, por lo tanto, no hay actualizaciones vinculantes.

(Además, ¿por qué tiene columnas si no las tiene? usalos, usalos a ellos?)

Respondido 05 Feb 12, 06:02

Entonces, ¿cómo puedo realizar el enlace a ActualWidth? Por cierto, este es solo un ejemplo que muestra mi problema, por lo que no es necesario utilizado las columnas. - Manuel

@Manuel: Puede colocar algún objeto ficticio en la columna y vincular el Ancho real de eso. - media pensión

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.