wpf maskedTextBox数据绑定
我在个人项目中使用以下MaskedTextBox供自己使用。这是一个简单的例子,因为我试图在一个更大的程序上使用它,但我用这个程序来测试这个控件 步骤:wpf maskedTextBox数据绑定,wpf,maskedtextbox,Wpf,Maskedtextbox,我在个人项目中使用以下MaskedTextBox供自己使用。这是一个简单的例子,因为我试图在一个更大的程序上使用它,但我用这个程序来测试这个控件 步骤: 1.创建wpf应用程序 2.向SQL添加了一个名为Prescriptions的Linq类,并添加了一个名为info的表 {ID | Name | Phone} 表单的标记如下所示: <Window x:Class="MaskedTest.MainWindow" xmlns="http://schemas.microsoft.com
1.创建wpf应用程序
2.向SQL添加了一个名为Prescriptions的Linq类,并添加了一个名为info的表 {ID | Name | Phone} 表单的标记如下所示:
<Window x:Class="MaskedTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
Title="MainWindow" Height="300" Width="300"
Loaded="Window_Loaded">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="200"/>
</Grid.ColumnDefinitions>
<Label Name="nameLabel" Margin="2" Target="{Binding ElementName=nameTxt}">_Full Name</Label>
<TextBox Name="nameTxt" Grid.Column="1" Margin="2" Text="{Binding Name}"/>
<Label Name="phoneLabel" Margin="2" Grid.Row="1" Grid.Column="0" Target="{Binding ElementName=phoneTxt}">_Phone Numnber</Label>
<xctk:MaskedTextBox Name="phoneTxt" Margin="2" Grid.Row="1" Grid.Column="1" Text="{Binding Phone}" Mask="(000) 000-0000" />
</Grid>
_全名
_电话号码
代码隐藏文件:
public partial class MainWindow : Window
{
private PrescriptionDataContext pdc = new PrescriptionDataContext();
private List<info> users = new List<info>();
private info U = new info { Id = 1, Name = "Matthew Brown", Phone = "5128289081" };
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
var q = pdc.getUser();
foreach (info I in q)
{
users.Add(I);
}
// DOES NOT WORK
this.DataContext = users;
// WORKS
// this.DataContext = U;
}
}
公共部分类主窗口:窗口
{
private PrescriptionDataContext pdc=新PrescriptionDataContext();
私有列表用户=新列表();
私人信息U=新信息{Id=1,Name=“Matthew Brown”,Phone=“5128289081”};
公共主窗口()
{
初始化组件();
}
已加载私有无效窗口(对象发送器、路由目标)
{
var q=pdc.getUser();
foreach(信息I在q中)
{
用户。添加(I);
}
//不起作用
this.DataContext=用户;
//工作
//this.DataContext=U;
}
}
加载时,您将看到name字段已正确绑定,但phone控件仅显示掩码,而不显示表中的底层数据。如果我明确地创建类,然后像上面那样绑定它,它就会工作
想法???
用户
是一个集合<代码>U是单个对象<代码>用户没有您尝试绑定到的属性。使用ItemsControl
或ListView
或用于显示数据列表的内容。名称文本字段由单个用户或用户集合填充。仅当我设置单个用户时才显示Phone字段。在我的另一个程序中,它是一个列表视图数据的一部分,每天绑定一次,得到相同的结果。