Pergunta

Eu criei uma aplicação WPF que tem muitos botões.

Agora, o cliente quer mudar todos os botões de ícones. Por exemplo: Todos os botões OK devem ter o mesmo ícone, todo o modo Botões cancelar e assim por diante.

Eu quero colocar em todos os botões Style = "{StaticResource ButtonStyle_OK}", Style = "{StaticResource ButtonStyle_OK}" etc.

Agora, a minha pergunta é, em geral, o que eu tenho para o lugar nestes estilos

<Style x:Key="ButtonStyle_OK" TargetType="Button">
    <!-- What comes here? -->                
</Style>

Estou affraid eu vou mudar todos os botões no meu aplicativo de imagem e utilização MouseDown evento para o clique, teria que ser estúpido?

NOTAS: Eu quero os botões para ser uma imagem - não é um botão que contém uma imagem (ou seja, eu não quero que o quadro de botão original), falando sobre a forma. Quero ter estes botões / estilos reutilizáveis.

Foi útil?

Solução

Dê uma olhada neste artigo do MSDN sobre styling - http: // MSDN .microsoft.com / en-us / library / ms745683.aspx

Eu acho que você pode ser capaz de obter alguma tração lendo a secção ControlTemplate.

Além disso, como observado por Chris, os estilos podem entrar em um dicionário de recursos e, em seguida, pode ser aplicado globalmente contra todos os botões omitindo uma chave.

UPDATE: Você não vai precisar imagem utilidade para com o evento clique, usando o ControlTemplate permitirá que você definir a aparência do botão de forma mais precisa.

Outro exemplo - http: //mrpmorris.blogspot. com / 2008/04 / WPF-custom-botão-templates.html

Outras dicas

colocá-los em um dicionário de recursos, então tudo que você tem a fazer é trocar a dicionários para mudar o estilo e praticamente nada a ver com o lado da UI dos botões, etc.

Eu estou pensando que você quer um modelo de controle na tag (s), algo como isto:

<Setter TargetType="{x:Type Button}">
     <Setter Property="Template">
         <Setter.Value>
             <ControlTemplate TargetType="{x:Type Button}">
             </ControlTemplate>
         </Setter.Value>
     <Setter Property="Template">
</Setter>

Você deve ser capaz de encontrar o modelo padrão on-line (MSDN) relativamente fácil. Eu recomendaria usar Mistura de fazer isso (se possível) -. Ele pode tornar as coisas mais fáceis hella

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