如何使用MVVM和Silverlight 4将类静态属性绑定到视图
我创建了一个具有静态属性的类。现在,我想将所有内容绑定到textbox。但我无法绑定 具有静态属性的类:如何使用MVVM和Silverlight 4将类静态属性绑定到视图,silverlight,data-binding,mvvm,Silverlight,Data Binding,Mvvm,我创建了一个具有静态属性的类。现在,我想将所有内容绑定到textbox。但我无法绑定 具有静态属性的类: namespace QSys.Library.Security { public class CustomerServiceData { public static string UserName { get { return "Imdad";
namespace QSys.Library.Security
{
public class CustomerServiceData
{
public static string UserName
{
get
{
return "Imdad";
}
}
}
}
Page.xaml
<UserControl x:Class="QSys.Admin.Views.AdminHomeView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:my="clr-namespace:QSys.Library.Security;assembly=QSys.Library"
mc:Ignorable="d"
d:DesignHeight="400" d:DesignWidth="640">
<UserControl.Resources>
<my:CustomerServiceData x:Name="mySecurity" />
</UserControl.Resources>
<Grid>
<TextBox Text="{Binding Source={StaticResource mySecurity}, Path=CustomerServiceData.UserName}" ></TextBox>
</Grid>
</UserControl>
有人能告诉我为什么我的文本框中没有值吗?甚至它也没有给我任何错误。
谢谢,
Imdadhusen请参阅以下文章:
您在那里指定的路径是错误的,另外一件事总是为您添加的资源指定一个密钥。以下是您需要进行的更改,以使其正常工作:
<UserControl.Resources>
<my:CustomerServiceData x:Key="mySecurity" />
</UserControl.Resources>
文本框默认为双向绑定,因此如果不将其设置为单向,则会出现错误,因为它还会在属性中查找由于其双向绑定beahviour而定义的setter
<TextBox Text="{Binding Source={StaticResource mySecurity},Mode=OneWay, Path=UserName}" >
</TextBox>