Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > для чего нужна фабрика объектов


Автор: hexzo 25.8.2011, 13:11
А зачем в механизме биндингов нужна фабрика. Я имею в виду, что делается что-то чудное:
Код

FrameworkElementFactory facButton = new FrameworkElementFactory(typeof(Button));
template.VisualTree = facButton;


Вместо того, что-бы создать элемент напрямую.
Код

Button button = new Button();
template.visualTree = button;

Автор: Gvozdin 25.8.2011, 13:33
FrameworkElementFactory Class Supports the creation of templates.

Шаблоны динамически создавать, как у вас в примере кстати smile

Автор: hexzo 25.8.2011, 14:01
Я так и не понял зачем здесь фабрика. smile

Автор: Gvozdin 25.8.2011, 14:12
Как вы создадите DataTemplate новый и построете его шаблон?

Код

var dt = new DataTemplate()

что дальше?



Подсказка: ваш пример template.VisualTree = new Button() даже не скомпилируется

Автор: hexzo 25.8.2011, 14:20
Естественно не скомпилируется, но только потому что это пример "если бы да ка бы", а тот что в студии должен принимать фабричный элемент.
public FrameworkElementFactory VisualTree { get; set; }

Цитата

Как вы создадите DataTemplate новый и построете его шаблон?

Ну я же могу динамически создать экземпляр какого нибудь типа. Ну вот и шаблон тоже как-нибудь так.

Автор: Gvozdin 25.8.2011, 20:26
В общем шаблон только с FrameworkElementFactory создать можно smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)