2
考慮下面的簡單代碼:綁定問題ActualWidth的動態填充網格
XAML:
<Grid Height="60" Name="grid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="162*" />
<ColumnDefinition x:Name="coltest" Width="316*" />
<ColumnDefinition Width="239*" />
</Grid.ColumnDefinitions>
</Grid>
<Label MouseDoubleClick="TextBox_MouseDoubleClick"
Content="{Binding ElementName=coltest, Path=ActualWidth}" Grid.Row="1"/>
的MouseDoubleClick
事件:
private void TextBox_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
grid.RowDefinitions.Add(new RowDefinition());
for (int i = 0; i < grid.ColumnDefinitions.Count; i++)
{
Random r = new Random();
Label l = new Label { Content = r.Next(10, 1000000000).ToString() };
grid.Children.Add(l);
Grid.SetRow(l, grid.RowDefinitions.Count - 1);
Grid.SetColumn(l, i);
}
}
我的標籤通過綁定包含第二列的ActualWidth
屬性。在Visual Studio中,我看到包含值316的標籤,所以綁定起作用。
雙擊標籤觸發其事件並向網格添加額外的行,所有行都具有隨機的長度。
我希望在我的標籤上看到一個新的值,但是(在運行時計算)0不會改變!
缺少什麼我在這裏?
啊這將更新
Binding
每次,我明白了。我如何更新綁定?這取決於何時計算ActualWidth屬性的權利? – 321X你現在正式成爲我的英雄!謝啦! – 321X
當然,很高興我能夠幫助:) –