我是WPF的新手。我正在探索WPF应用程序的MVVM模式。我在将 TextBox 的 Text 属性从VIEW绑定到 VIEWMODEL
中的变量时遇到问题这里是MainWindow.xaml
的文本框
<TextBox x:Name="UsernameTxt" Grid.Row="4" materialDesign:HintAssist.Hint="Username"/>
我只需要知道如何将其Text属性绑定到类库中的ViewModel类 谢谢
答案 0 :(得分:0)
我认为可以为这个非常笼统的问题提供一个非常笼统的答案。
如果问题更改了上下文,则很可能会删除此答案,但是无论如何都会如此。
您希望视图模型位于文本框的datacontext中。因为datacontext是从可视树继承的,所以这通常意味着您要将窗口的datacontext设置为viewmodel的实例。或者也许是您的文本框所在的用户控件,但是我们对您的应用程序一无所知,所以我们只介绍简单的情况。
您的选择是使用代码或xaml实例化视图模型。
如果您看这篇文章:
https://social.technet.microsoft.com/wiki/contents/articles/31915.wpf-mvvm-step-by-step-1.aspx
以xaml实例化。
请注意xmlns是
xmlns:local="clr-namespace:wpf_MVVM_Step01"
这就是说,您会在标记的某些地方看到以“ local:”开头的标记,然后从该名称空间中获取该类。
要指向其他dll(类库),您需要告诉它哪个程序集。您可以通过将; assembly = Whicheverdll添加到该xmlns的等价物中来实现。当然,那不是本地的,所以给它起一个不同的名字。您还需要对添加到入口点exe的dll或项目的引用。
完成所有这些操作并将ViewModel实例化到内存中后,在该文本框的数据上下文中,您需要某种绑定。
本文涵盖的内容将是这样的:
<TextBox Text="{Binding YourPublicStringProperty}"/>