Прежде всего,
HandHeld hh = this.FindResource("hh") as HandHeld;
hh=new HandHeld();
&
this.resources["hh"]=new HandHeld();
- это не одно и то же.Первая реализация работает с объявлением объекта внутри кода (что, очевидно, не должно иметь никакого эффекта), а вторая - с объектом xaml класса HandHeld .
Второй не имеет никакого эффекта, так как когда вы устанавливаете объект, нет ничего, чтобы уведомить об изменении.Таким образом, вы либо реализуете одно, либо создаете свойство зависимости в текущем коде позади себя.
public static readonly DependencyProperty HandHeldObjProperty =
DependencyProperty.Register("HandHeldObj", typeof(HandHeld), typeof(UserControl),new PropertyMetadata(null));
Свяжите указанное выше свойство зависимости в XAML с источником.И всякий раз, когда вы хотите установить значение,
SetValue(HandHeldObjProperty, new HandHeld());
РЕДАКТИРОВАТЬ: Я подумал, что у вас есть место, где вы особенно хотите привязать свой объект к,Что-то вроде проверки, является ли объект (объект HandHeld) нулевым или нет.
Если это не так, написанный вами код должен работать.Вы установили свойство зависимости HandHeldName после запуска класса?Я имею в виду ..
this.resources["hh"]=new HandHeld();
hh.HandHeldName="testing";