Привязка к ColumnDefinition.ActualWidth не имеет никакого эффекта - PullRequest
1 голос
/ 05 февраля 2012

Я пытаюсь привязаться к ActualWidth столбца, но привязка не работает.В следующем примере TextBlock с привязкой всегда равен 0, но TextBlock, обновленный с помощью кода, сообщает правильный номер.Что происходит?

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>

Код:

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

1 Ответ

1 голос
/ 05 февраля 2012

Не является свойством зависимости, следовательно, нет обязательных обновлений.

(Кроме того, почему у вас есть столбцы, если вы не используете их ?)

...