Я начал изучать DependencyProperty, но у меня есть ощущение, что это неправильное направление, а также создание простого расширения, чтобы попытаться установить свойство, которое я ищу.
Небольшой фрагмент, который я пытаюсь заставить работать, выглядит примерно так:
Код: Выделить всё
public bool AddNewTreeviewChild(ItemCollection selectedTreeView, TreeViewItem selectedItem)
{
if (selectedTreeView.Contains(selectedItem))
{
var newChild = new TreeViewItemExtension();
newChild.Header = NewItem.Text;
newChild.TreeViewType = DesignateChildType();
selectedItem.Items.Add(newChild);
}
foreach (TreeViewItem item in selectedTreeView)
{
if (AddNewTreeviewChild(item.Items, selectedItem))
{
return true;
}
}
return false;
}
Код: Выделить всё
public static readonly DependencyProperty TreeViewTypeProp =
DependencyProperty.Register(
"TreeViewType",
typeof(string),
typeof(TreeViewItem),
new PropertyMetadata("Root")
);
public string TreeViewType
{
get { return (string)GetValue(TreeViewTypeProp); }
set { SetValue(TreeViewTypeProp, value); }
}
Я также пытался сделать расширение с помощью просто:
Код: Выделить всё
public class TreeViewItemExtension : TreeViewItem
{
public string TreeViewType { get; set; }
public TreeViewItemExtension ()
{
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... pf-element
Мобильная версия