Em um WPF ToolBarPanel-ToolBar-Menu aninhado, queremos nos livrar da alça à esquerda e da área de estouro à direita. ambos estão acinzentados, mas gostaríamos que não fossem exibidos.
alguma ideia de como fazer isso?
apenas no caso de meus termos não estarem totalmente corretos, se você olhar para a imagem na Figura 3 do link abaixo, na parte inferior das três barras de ferramentas está a alça à esquerda da lista suspensa e à direita da mais à direita botão há o estouro.
Respostas:
A alça pode ser removida definindo a propriedade anexada
ToolBarTray.IsLocked="True"
na Barra de Ferramentas.Para remover o Overflow ToggleButton , você terá que removê-lo em um ControlTemplate personalizado, conforme seis variáveis de letras sugerem, o que, se você tiver blend ou puder baixar o Blend 3 Preview, não é excessivamente difícil.
Você também pode simplesmente ocultar o botão no evento carregado da Barra de Ferramentas, embora seja qual for a rota que você tomar, você também deve definir a propriedade anexada
ToolBar.OverflowMode="Never"
no menu da Barra de Ferramentas, para que os itens não possam transbordar acidentalmente para uma área inacessível.E defina o Overflow ToggleButton para recolhido:
fonte
Você pode usar o Blend para simplesmente substituir o ControlTemplate para ToolBarPanel, Menu ou ToolBar.
Agora você estará editando o modelo de controle para o ToolBarPanel e pode definir a visibilidade como Recolhido para o sinal de alça e estouro. Você pode enxaguar e repetir para os outros controles. É um pouco demorado, mas não é terrivelmente difícil com o Blend.
fonte
Você pode "remover" o estouro sem fornecer um novo modelo de controle, definindo o
ToolBar
para ter margens direitas negativas (e adicionar uma margem esquerda negativa para que não pareça estranho com bordas esquerdas arredondadas, mas bordas direitas quadradas). Em seguida, adicioneClipToBounds="True"
aoToolBarPanel
que cortará as bordas da barra de ferramentas que agora estão fora da área do painel.fonte
Em vez de ocultar o botão de estouro completamente, acho melhor mostrá-lo apenas quando necessário. Isso pode ser feito vinculando sua
Visibility
propriedade à suaIsEnabled
propriedade:(a mesma coisa pode ser feita em XAML redefinindo o modelo)
fonte
Estou apenas começando com o WPF e não consegui nenhum dos métodos acima para ocultar minha seta de estouro (Visual Studio 2010). A única coisa que pareceu afetar a seta foi o exemplo Toolbar_Load acima, mas tudo o que fez foi transformar a seta em um espaço vazio que parecia tão ruim quanto a flecha. A maneira mais fácil que eu consegui descobrir foi simplesmente definir as margens da barra de ferramentas.
fonte
Os métodos acima funcionam para ocultar o estouro; Usei o seguinte para ocultar a garra:
para um layout horizontal, e
para um layout vertical. Coloque o acima após a barra de ferramentas (ou ToolbarTray, se estiver usando)
Use a largura e a altura necessárias para seus botões.
Kaxaml é excelente para brincar com essas coisas.
fonte