Pergunta

Usando o WPF, tenho um controle TreeView que desejo definir seu ItemTemplate dinamicamente por meio de código processual.Como eu faço isso?Presumo que preciso encontrar o recurso em algum lugar.

myTreeViewControl.ItemTemplate =   ??
Foi útil?

Solução

Se o modelo for definido diretamente na seção <Window.Resources>:

myTreeViewControl.ItemTemplate = this.Resources["SomeTemplate"] as DataTemplate;

Se estiver em algum lugar no fundo da sua janela, como em uma seção <Grid.Resources> ou algo assim, acho que funcionará:

myTreeViewControl.ItemTemplate = this.FindResource("SomeTemplate") as DataTemplate;

E se estiver em outro lugar do seu aplicativo, eu pensar App.FindResource("SomeTemplate") funcionará.

Outras dicas

se o seu controle de visualização em árvore exigir modelos diferentes para seus itens, você deverá implementar a classe DataTemplateSelector e definir sua instância para sua visualização em árvore.Pelo que me lembro, existe uma propriedade de DataTemplateSelector.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top