wpf maskedTextBox数据绑定

时间:2014-05-23 05:31:46

标签: wpf maskedtextbox

我在个人项目中使用以下MaskedTextBox http://wpftoolkit.codeplex.com/wikipage?title=MaskedTextBox供我自己使用。这是一个简单的例子,因为我试图在一个更大的程序上使用它,但我正在使用这个程序来测试这个控件。

步骤:
1.创建一个wpf应用程序
2.添加了名为Prescriptions的Linq to SQL类,并添加了一个名为info的表 {ID |名称|电话}

表格的标记如下:

<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;
    }
}

加载后,您将看到名称字段已正确绑定,但电话控件仅显示掩码,而不显示表中的基础数据。如果我明确地创建了类,然后像我上面那样绑定它就可以了。

想法?

0 个答案:

没有答案