none
Effet 3D RRS feed

  • Question

  • Bonjour,

    Je m'initie à WPF en vue de migrer une application WinForm de telle sorte qu'elle s'affranchisse des contraintes liées aux multiples résolutions d'écrans.

    J'effectue donc quelques essais qui, jusqu'à présent, me paraissent assez concluants.

    Cependant, je voudrais donner un effet 3D à une zone de texte (qui matérialise un compteur textuel tout simple). C'était très aisé en WinForm, il suffisait d'affecter le style 3D au Border d'un panel par exemple.

    Mais comment fait-on cela en WPF ? Peut-on définir un tel style et l'enregistrer en ressource par exemple ?

    Voici un petit code XAML qui représente une zone de texte placée dans un Border (plat) que je voudrais mettre en 3D.

    <Window x:Class="Essais"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Essais" Height="300" Width="300">
        <Grid Background="#AA000000">
            <Border BorderBrush="WhiteSmoke" BorderThickness="2" Margin="60,101,105,118" Name="Border1" Background="#FFD00000" Cursor="Hand">
                <TextBlock Name="TextBlock1" Text="TextBlock" Cursor="Hand" TextAlignment="Center" VerticalAlignment="Center" />
            </Border>
        </Grid>
    </Window>
    

    Par ailleurs, avez-vous un bon livre (en français de préférence) à me recommander sur le sujet WPF ?

    Merci d'avance.


    Alain

    mardi 3 avril 2012 17:23

Réponses

  • Bonjour,

    Par exemple pour mettre un effet 3d sur du texte dans un TexBlock :

    <Window x:Class="MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow"
            Width="525"
            Height="350">
        <Grid>
            <TextBlock Foreground="Gray" Text="Ceci est un texte avec une ombre" Margin="98,100,212,183">
                <TextBlock.Effect>
                    <DropShadowEffect BlurRadius="4"
                                      Direction="330"
                                      Opacity="0.5"
                                      ShadowDepth="4"
                                      Color="Black" />
                </TextBlock.Effect>
            </TextBlock>
        </Grid>
    </Window>

    Si c'est juste pour faire un effet 3d autour d'un control il faut utiliser :

    <Border.Effect>

    Bien à vous.


    ZGuideTV.NET - administrator/developer

    • Marqué comme réponse AchLog mardi 3 avril 2012 21:36
    mardi 3 avril 2012 19:14
  • AchLog,

    Une source d'information en ligne très connue : http://plasserre.developpez.com/cours/vb-net/?page=ui-wpf1

    Concernant une version papier, à par les bouquins Microsoft Press je suis plus du genre à bouquiner en ligne.

    Donc, je ne saurais trop vous conseiller.

    Bien à vous.


    ZGuideTV.NET - administrator/developer

    mardi 3 avril 2012 21:49

Toutes les réponses