我试图绑定到列的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();
}发布于 2012-02-05 13:49:07
不是依赖属性,因此没有绑定更新。
(另外,如果不使用,为什么还要有列?)
https://stackoverflow.com/questions/9147209
复制相似问题