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属性不支持绑定,我现在想知道怎样才能把这两个关联起来.
求各位大神帮忙! 展开
private PasswordBox _box=new PasswordBox();
public PasswordBox Boxer
{
get { return _box; }
set {_box=value}
}
在xaml中有一个PasswordBox控件
<PasswordBox />
由于PasswordBox的password属性不支持绑定,我现在想知道怎样才能把这两个关联起来.
求各位大神帮忙! 展开
2个回答
2014-10-16 · 知道合伙人数码行家
关注
展开全部
为何要做Viewmodel中定义控件呢?
在Viewmodel定义PasswordBox的需要获得的属性,如Text,然后在view中应用绑定就可以了。
在Viewmodel定义PasswordBox的需要获得的属性,如Text,然后在view中应用绑定就可以了。
追问
我需要password,但是passwordbox的password属性,不是依赖属性,不能绑定.
所以直接要想这对passwordbox,然后在viewmodel里就可以取这password的值了.
追答
刚查了下,为了安全,password属性不支持依赖属性,必须通过CLR属性访问。
假如需要使用绑定,需要自定义控件实现。
也可用在VM的cs代码中直接为ViewModel中的Boxer赋值即可。
展开全部
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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询