Как сделать существующий объект источником данных в Microsoft Expression Bend 3?

Этот пример только для изучения...

Я начал проект в Visual Studio C#. Это очень просто, есть класс Phone, который создается в коде позади. Я хотел бы добавить графический интерфейс, используя смесь 3.

public class Phone:DependencyObject
{
    public string PhoneMake
        {
            get { return (string)GetValue(PhoneMakeProperty); }
            set { SetValue(PhoneMakeProperty, value); }
        }

        public static readonly DependencyProperty PhoneMakeProperty =
            DependencyProperty.Register("PhoneMake", typeof(string), typeof(Phone));

}

Код позади:

public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
    }

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        Phone Nokia = new Phone();
        Nokia.PhoneMake = "Nokia";
    }
}

Теперь я импортирую этот проект в Blend 3, чтобы я мог добавить графический элемент и привязать его к свойству PhoneMake объекта Nokia.

Если я нажимаю кнопку "Добавить источник данных в реальном времени", мне предоставляется только возможность создать новый объект, но я не вижу, как выбрать мой объект Nokia.

Как мне установить этот экземпляр объекта Nokia в качестве источника данных?

Должен ли Blend сделать это или я все понял неправильно?

Использование Visual Studio C# Express 2008 и Blend 3.

1 ответ

Вы можете создать экземпляр любого объекта CLR в качестве нового источника данных для привязки данных в области данных.

Убедитесь, что ваш проект с классом, который вы хотите использовать, был собран.

Щелкните значок в правом верхнем углу панели данных и выберите "Определить новый источник данных объекта". Это позволит вам выбрать любой класс CLR в вашем проекте (я думаю, что он должен иметь конструктор defualt, чтобы иметь право). Объект обернут в источник данных.

После того, как вы это сделаете, объект появится в области данных и может быть использован для привязки данных с помощью перетаскивания или диалогового окна привязки данных (через маркер свойства, маленький прямоугольник сбоку от каждого привязываемого свойства в инспекторе свойств).,

Очевидно, что для создания списков с привязкой к данным вы, вероятно, хотите, чтобы ваш объект был набором вещей - для этого мне нравится использовать ObervableCollection<>.

Обратите внимание, что ваш объект, созданный как источник данных, доступен из кода также во время выполнения. Чтобы найти объект, для которого вы создали источник данных, используйте FindResource для поиска источника данных с именем, которое вы дали при первоначальном создании.

Другие вопросы по тегам