Pergunta

Como você pode acessar de WPF estilos internos / templates?

Por exemplo, eu estou tentando mover cromo do NavigationWindow para a parte inferior da janela. Eu vi da Microsoft NavigationWindow template exemplo mas é bastante detalhado e não reutilizar o cromo de navegação padrão.

Eu também tentei olhar para a árvore dentro Snoop. Todo o cromo está contido dentro de um elemento de grade chamada "NavChrome" mas eu posso encontrar qualquer referência a ele. Não parece haver qualquer "PART_xyz" que coincide com qualquer um.

Para a CTP algumas pessoas mencionam o uso de "PFThemeNavigationWindowNavigationButtonForwardButtonStyle", etc, para os estilos de botão, no entanto, isso não parece funcionar mais.

Assim, é possível acessar esses estilos internos? Seria bom para reutilizá-los em outros lugares também!

Obrigado!


Edit: saldoukhov resposta 's é muito útil, mas há uma maneira de fazer isso sem a necessidade de copiar tudo que XAML? Ele só não parece ser um abordagem muito seco para mim.

Foi útil?

Solução

Eu costumo fazê-lo no Expression Blend. Selecione o controle-> right-click-> Edit Control Parts (modelo) -> Editar uma cópia ...

Em seguida, ele depende do que você quer fazer. Se você tiver sorte e o modelo que você está editando contém referência a recursos key'ed mudança que você pode obter o efeito desejado, então você pode apenas criar seus próprios recursos com esta chave e que iria "substituir" os no modelo , neste caso, você não precisa de transportar em torno do modelo completo. Mas, mais frequentemente, você precisa mudar algumas coisas em torno do modelo, assim você só extraí-lo em seus próprios recursos e começar a transportar.

Outras dicas

Não é uma resposta à sua pergunta, mas uma pequena dica: Além de resposta de saldoukhov, você também pode usar XamlPadX ( http://blogs.msdn.com/llobo) para ter acesso ao built-in estilos, se você não tem Expression Blend.

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