Привязка данных Silverlight - PullRequest
       1

Привязка данных Silverlight

0 голосов
/ 11 сентября 2010

Я пишу приложение, в котором пользователи вводят записи.У меня есть класс, который представляет запись.Привязка к текстовым полям работает.

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 Ответ

1 голос
/ 11 сентября 2010

Если вы можете привязать отдельную запись к текстовому полю, стандартная коллекция этих записей будет примерно таким же образом привязана к полю коллекции.Так что да, вы можете сделать именно это, хотя детали для ComboBox варьируются. Эта статья содержит гораздо больше информации о привязке данных в WPF, но, похоже, у вас есть хороший базовый дескриптор.

Чтобы автоматически исправить неправильные данные, прочитайте эту статью о Проверка процесс.В нем объясняется, как настроить собственную систему для обнаружения и сообщения об ошибках при вводе пользователем.Обработка неверных данных не должна просто отображать предупреждение в пользовательском интерфейсе - вы можете записать обратно в поле .Value вашего TextBox, чтобы автоматически исправить ввод, если вы знаете, как это сделать, но вы сами должны написать коди обнаружить, что не так, и выяснить, что правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...