n° 219
Novembre 2017
Dicembre 11, 2017, 01:11:12 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  


* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Problema overflow ToolBar  (Letto 2867 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
95ulisse
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 2


Mostra profilo E-mail
« inserita:: Giugno 30, 2010, 04:59:34 »

Salve a tutti,
sono nuovo del forum e mi scuso per gli eventuali errori che commetterò.

Innanzitutto sviluppo per il .NET Framework 3.5 e utilizzo VB.NET.

Ho recentemente creato un progetto nel quale ho una Window con una ToolBar che contiene degli elementi che vanno in overflow, cioè che fanno attivare il pulsante a destra della ToolBar per visualizzare gli elementi in eccesso. Il problema è che questi elementi (di tipo Button) hanno un menu contestuale che non viene visualizzato quando sono in overflow poichè il popup di overflow della ToolBar si chiude.

Come posso fare per risolvere questo problema?

Grazie in anticipo per il vostro aiuto.

PS: ho modificato il template della ToolBar per esigenze grafiche.
Ho trovato questo template su MSDN (http://msdn.microsoft.com/en-us/library/aa970772.aspx) e ho apportato alcune modifiche:
  • Ho modificato alcuni pennelli per cambiare i colori
  • Ho cambiato il contenuto del popup di overflow della ToolBar con uno ScrollViewer contenente un controllo creato da me, che eredita da ToolBarOverflowPanel ed effettua l'override dei metodi MeasureOverride e ArrangeOverride per far si che i figli si visualizzino in verticale

Quindi questo è il mio stile per la ToolBar:

Codice:
<Style x:Key="{x:Type ToolBar}" TargetType="{x:Type ToolBar}">
        <Setter Property="SnapsToDevicePixels" Value="true"/>
        <Setter Property="OverridesDefaultStyle" Value="true"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ToolBar}">
                    <Border x:Name="Border"  
          CornerRadius="2"
          BorderThickness="1"
          Background="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Background}"
          BorderBrush="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=BorderBrush}">
                        <DockPanel >
                            <ToggleButton DockPanel.Dock="Right"
              IsEnabled="{TemplateBinding HasOverflowItems}"
              Style="{StaticResource ToolBarOverflowButtonStyle}"
              IsChecked="{Binding Path=IsOverflowOpen,Mode=TwoWay,RelativeSource={RelativeSource TemplatedParent}}"
              ClickMode="Press">
                                <Popup x:Name="OverflowPopup"
                AllowsTransparency="true"
                Placement="Bottom"
                IsOpen="{Binding Path=IsOverflowOpen,RelativeSource={RelativeSource TemplatedParent}}"
                StaysOpen="false"
                Focusable="false"
                PopupAnimation="Slide">
                                    <Border x:Name="DropDownBorder"
                  Background="#FF266492"
                  BorderThickness="1"
                  BorderBrush="{StaticResource SolidBorderBrush}">
                                        <ScrollViewer Margin="0" CanContentScroll="True" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Auto" Padding="0,0,10,0">
                                            <inheritedControls:StackToolBarOverflowPanel x:Name="PART_ToolBarOverflowPanel"
                Margin="2"
                WrapWidth="10"
                Focusable="true"
                FocusVisualStyle="{x:Null}"
                KeyboardNavigation.TabNavigation="Cycle"
                KeyboardNavigation.DirectionalNavigation="Cycle" />
                                        </ScrollViewer>
                                    </Border>
                                </Popup>
                            </ToggleButton>

                            <Thumb x:Name="ToolBarThumb"
              Style="{StaticResource ToolBarThumbStyle}"
              Width="10"/>
                            <ToolBarPanel x:Name="PART_ToolBarPanel"
              IsItemsHost="true"
              Margin="0,1,2,2"/>
                        </DockPanel>
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsOverflowOpen" Value="true">
                            <Setter TargetName="ToolBarThumb" Property="IsEnabled" Value="false"/>
                        </Trigger>
                        <Trigger Property="ToolBarTray.IsLocked" Value="true">
                            <Setter TargetName="ToolBarThumb" Property="Visibility" Value="Collapsed"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2017 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



powered by Simple Machines