gpt4 book ai didi

c# - 在隐藏代码公开的 ViewModel 上设置子属性的 WPF XAML 语法是什么?

转载 作者:行者123 更新时间:2023-12-03 10:59:25 29 4
gpt4 key购买 nike

我有一个用户控件,它有一个名为“LoginViewModel”的属性。它包含控件绑定(bind)到的 View 模型的实例。

LoginViewModel 有一个名为“UserName”的属性(该类实现了 INotifyPropertyChanged)。

当我在另一个页面上使用用户控件时,我希望能够通过 XAML 设置 LoginViewModel 属性上的一些属性。我似乎无法想出正确的语法。我可以直接在代码隐藏中公开这些并像这样设置它们:

<rcs:LoginComponent x:Name="Login" UserName="Test"></rcs:LoginComponent>

但是我基本上必须从我的 ViewModel 中复制所有属性,这很愚蠢。

我已经尝试过这种变化:
<rcs:LoginComponent x:Name="Login">
<rcs:LoginViewModel UserName="Test"></rcs:LoginViewModel>
</rcs:LoginComponent>

但是随后控件不呈现(但没有错误)。我最终得到了一个将命名空间显示到 View 模型的控件(例如 MyApp.Components.LoginViewModel")。

这个的语法是什么?

最佳答案

您应该添加 LoginViewModelDataContext 内你的 UserControl 的标签是这样的:

<rcs:LoginComponent x:Name="Login">
<rcs:LoginComponent.DataContext>
<rcs:LoginViewModel UserName="Test"/>
</rcs:LoginComponent.DataContext>
</rcs:LoginComponent>

关于c# - 在隐藏代码公开的 ViewModel 上设置子属性的 WPF XAML 语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21663706/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com