我认为这是尝试将视图绑定到视图模型中的依赖属性的最简单案例之一。最初的更改似乎反映在视图中,但对 DP 的其他更改不会更新视图的 TextBlock。我可能只是错过了一些简单的东西,但我看不出它是什么。请看一下...
我的 XAML 在窗口底部有一个状态栏。我想绑定到 DP“VRAStatus”。
<StatusBar x:Name="sbar" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2"
VerticalAlignment="Bottom" Background="LightBlue" Opacity="0.4" DockPanel.Dock="Bottom" >
<StatusBarItem>
<TextBlock x:Name="statusBar" Text="{Binding VRAStatus}" />
</StatusBarItem>
<StatusBarItem>
<Separator Style="{StaticResource StatusBarSeparatorStyle}"/>
</StatusBarItem>
</StatusBar>
我的视图模型定义了 DP:
public string VRAStatus
{
get { return (string)GetValue(VRAStatusProperty); }
set { SetValue(VRAStatusProperty, value); }
}
// Using a DependencyProperty as the backing store for VRAStatus.
public static readonly DependencyProperty VRAStatusProperty =
DependencyProperty.Register("VRAStatus", typeof(string), typeof(PenskeRouteAssistViewModel),new PropertyMetadata(string.Empty));
然后,在我的代码中,我设置了 DP:
VRAStatus = "Test Message...";
这里有什么明显的我想念的吗?在视图模型的构造函数中,我将 DP 设置为:
VRAStatus = "Ready";
我从来没有显示测试消息。