Personalizzare i colori di un controllo Flyout di Windows 8.1

di Alessio Leoncini, in WinRT 8.1,

Nello script #42 abbiamo introdotto il controllo Flyout, che ci rende molto semplice la creazione di finestre modali in corrispondenza di Button o altri elementi.

Il contenuto di un Flyout è gestibile autonomamente come ogni ContentControl, tuttavia il Flyout stesso ha propri elementi grafici che ne definiscono un aspetto, esterni al content, sui quali potremmo avere la necessità di intervenire per conformarli al resto dell'appplicazione.


Tuttavia Flyout non espone direttamente proprietà per i colori di Background, bordo e Foreground; per intervenire su di essi è necessario creare uno Style per valorizzare la proprietà FlyoutPresenterStyle e andare in esso a settare tali valori.

<Style x:Key="FlyoutPresenterStyle1"
    TargetType="FlyoutPresenter">
  <Setter Property="Background"
      Value="#FF005DFF" />
  <Setter Property="BorderBrush"
      Value="#FF46FF00" />
  <Setter Property="Foreground"
      Value="#FFFAFAFA" />
</Style>

<Button Content="Button">
  <Button.Flyout>
    <Flyout FlyoutPresenterStyle="{StaticResource FlyoutPresenterStyle1}">
      <StackPanel>
        <TextBlock>Lorem ipsum dolor sit amet, consectetur adipiscing ...</TextBlock>
        <Button>Yes</Button>
      </StackPanel>
    </Flyout>
  </Button.Flyout>
</Button>

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi