WPF 在MVVM模式下怎样在Viewmodel里面控件与view中控件相关联。

现在我viewmodel中有一个PasswordBox属性privatePasswordBox_box=newPasswordBox();publicPasswordBo... 现在我viewmodel中有一个 PasswordBox属性
private PasswordBox _box=new PasswordBox();
public PasswordBox Boxer
{
get { return _box; }
set {_box=value}
}
在xaml中有一个PasswordBox控件
<PasswordBox />
由于PasswordBox的password属性不支持绑定,我现在想知道怎样才能把这两个关联起来.
求各位大神帮忙!
展开
 我来答
FoolRabbit编程
2014-10-16 · 知道合伙人数码行家
FoolRabbit编程
知道合伙人数码行家
采纳数:619 获赞数:3805
毕业于苏州大学,4年编程经验,对WPF有研究。

向TA提问 私信TA
展开全部
为何要做Viewmodel中定义控件呢?
在Viewmodel定义PasswordBox的需要获得的属性,如Text,然后在view中应用绑定就可以了。
追问
我需要password,但是passwordbox的password属性,不是依赖属性,不能绑定.
所以直接要想这对passwordbox,然后在viewmodel里就可以取这password的值了.
追答
刚查了下,为了安全,password属性不支持依赖属性,必须通过CLR属性访问。

假如需要使用绑定,需要自定义控件实现。
也可用在VM的cs代码中直接为ViewModel中的Boxer赋值即可。
VouyV
2017-07-04
知道答主
回答量:37
采纳率:100%
帮助的人:1.7万
展开全部
http://www.cnblogs.com/ouylvr0625/p/6962575.html
xaml代码:
<PasswordBox x:Name="pbInfo" />
<Button x:Name="btnSendButInfo" Width="100" Command="{Binding BtnClickCommand}"
CommandParameter="{Binding ElementName=pbInfo}" />
ViewModel:
private DelegateCommand<PasswordBox > BtnClickCommand; //申明委托
BtnClickCommand = new DelegateCommand<PasswordBox >(BtnClick); //实例化
private void BtnClick(PasswordBox pb)
{
Boxer = pb;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式