这个WPF绑定有什么问题?

时间:2015-04-23 14:34:25

标签: wpf vb.net mvvm

该类的实例是作为名为“ViewModel”的公共属性公开的视图代码的私有成员。

2 个答案:

答案 0 :(得分:2)

您正在将Grid的DataContext设置为等于" ViewModel"的字符串。您需要确保DataContext属性已正确设置为实际ViewModel对象实例,无论是绑定还是后面的代码。

有关详细信息,请参阅我对问题What is DataContext for?

的回答

答案 1 :(得分:0)

我同意雷切尔的回答。设置DataContext的{​​{1}}的简便方法可能是:

Grid

这样您就无需触及<Window.Resources> <YourNamespace:ViewModel x:Key="ViewModel"/> </Window.Resources> <Grid DataContext="{StaticResource ViewModel}"> <TextBox Text="{Binding Path=TestName}" Height="23" HorizontalAlignment="Left" Margin="12,12,0,0" Name="TextBox1" VerticalAlignment="Top" Width="479" /> </Grid> / Window背后的代码。

如果您不想更改视图中的代码并希望保留UserControl属性,那么您也可以这样做:

ViewModel

因此,您无需在视图中设置Public Class View Inherits Window Private m_ViewModel As ViewModel Public Property ViewModel() As ViewModel Get Return m_ViewModel End Get Set m_ViewModel = Value End Set End Property Public Sub New() InitializeComponent() ViewModel = New ViewModel() DataContext = ViewModel End Sub End Class ,只需执行以下操作:

DataContext