<StackPanel Name="stackpanel1" DataContext="{x:Static SystemFonts.IconFontFamily}">
<TextBlock Text="{Binding Path=Source}" />
<TextBlock Text="{Binding Path=LineSpacing}" />
<TextBlock Text="{Binding Path=FamilyTypefaces[0].Style}" />
<TextBlock Text="{Binding Path=FamilyTypefaces[0].Weight}" />
<Button Content="Button" Click="Button_Click"/>
</StackPanel>private void Button_Click(object sender, RoutedEventArgs e)
{
stackpanel1.DataContext = SystemFonts.MessageFontFamily;
}点击Button之后,修改了StackPanel的DataContext,为什么TextBlock的数据没有更新呢?
<TextBlock Text="{Binding Path=Source}" />
<TextBlock Text="{Binding Path=LineSpacing}" />
<TextBlock Text="{Binding Path=FamilyTypefaces[0].Style}" />
<TextBlock Text="{Binding Path=FamilyTypefaces[0].Weight}" />
<Button Content="Button" Click="Button_Click"/>
</StackPanel>去掉初始时 DataContext 的值
使用Button进行更新是 可以更新的