Silverlight数据绑定

时间:2010-09-10 22:38:54

标签: c# silverlight

我正在编写一个用户输入记录的应用程序。我有一个代表记录的课程。将它绑定到文本字段可以正常工作。

MainPage.xaml.cs中

    public MainPage()
    {
        InitializeComponent();

        // newExpense is of type ExpenseInfo
        LayoutRoot.DataContext = newExpense;
    }

ExpenseInfo.cs

public class ExpenseInfo
{

    public String Name { get; set; }

    // ...
}

MainPage.xaml中

<TextBox Text="{Binding Name, Mode=TwoWay}" Height="23" HorizontalAlignment="Left" Margin="13,205,0,0" Name="NameTextBox" VerticalAlignment="Top" Width="74" />

这可以获取和设置输入。两个问题:

如果我有一个ListBox,我试图用ICollection中的ExpenseInfo表示其成员,该怎么办?我可以自动绑定它吗?如果我使用的是ComboBox怎么办?

有时,我希望ExpenseInfo更改输入控件。我怎样才能做到这一点? (例如,如果用户在“费用”文本框中输入“3 $ 0”,我想自动将其更改为“$ 30”。)

感谢。我是Silverlight 4的新手。

1 个答案:

答案 0 :(得分:1)

如果您可以将单个记录绑定到文本字段,那么这些记录的标准集合将以与收集字段大致相同的方式绑定。所以,是的,你可以做到这一点,虽然ComboBox的细节有所不同。 This article在WPF中有更多关于数据绑定的信息,但听起来你有一个很好的基本句柄。

要自动更正错误数据,请阅读有关Validation进程的文章。它解释了如何设置自己的系统来检测和报告用户输入中的错误。处理无效数据不一定只是在UI中显示警告 - 您可以回写TextBox的.Value字段,以便在知道如何操作时自动更正输入,但是由您来编写代码两者都是为了发现什么是错的,并弄清楚什么是正确的。

相关问题