En fin de compte, ce que je veux réaliser est une réplication à certains étendue, d'une fonctionnalité de verre Aero d'un contrôle de contenu WPF. P>
Si j'applique le Considérez des exemples: P>
pas de flou p>
p>
et avec p>
mais y a-t-il une manière WPF pour brouiller le fond derrière le panneau, et pas son contenu? p>
L'arrière-plan du blureffect code> à un
StackPanel code> contenant un
textblock code>, je vais avoir le
textblock code> ' S texte flou. p>
stackpanel code> est un ordinateur de bureau et la fenêtre qui l'héberge est définie sur
allowTransparency = "vrai" code> pour permettre le look en forme personnalisé. p>
4 Réponses :
Quel est le fond de la collerelle? une brosse image? Si oui, pourquoi ne pouvez-vous pas appliquer blureffect à cela? p>
Si cela n'est pas possible, essayez ceci .. p>
1] Utilisez une image et dessinez-la complètement sur 2] ajoutez 3] Ajoutez ensuite ou p>
Si vous insistez sur l'utilisation d'une brosse code> code> pour être défini comme le backgrounnd du panneau, utilisez Faites-moi savoir si l'une de ces conseils aident. P> grille code> comme je vois que vous ne voulez pas de
Tileeffect code>. Ajouter
Blureffect code> à cet image
code>. Assurez-vous de remplir l'image le uniformément. P>
stackpanel code> avec fond transparent comme enfant suivant strong> dans la grille code> Ie ne pas inverser l'ordre d'image et StackPanel. p>
textblock code> dans StackPanel. p>
VisualBrush code> qui dessine une image floue comme arrière-plan du stackpanel, au lieu de < Code> imagebrush code>. p>
Il essaie de brouiller l'arrière-plan de Windows Desktop pas un élément de WPF.
C'est ce que j'essaie de l'aider avec. Autant que je sache, les brosses ne peuvent pas être floues. Par conséquent, je lui ai donné des options pour brouiller l'image, puis le dessiner comme fond de StackPanel. Le même indice est déjà donné sur msdn ... social.msdn.microsoft.com/forums/en-us/wpf/thread/.../a>
Il n'a pas l'image dans son application.
Non, ce n'est pas possible. L'effet est appliqué à l'élément et Normalement, vous utiliseriez une grille comme si: P> dans votre exemple qui ne fera aucune différence. Quoi, exactement, essayez-vous de brouiller? P> p>
Vous devriez mettre l'image dans la partie qui a été floue. Notez que l'arrière-plan dans cette image n'est pas floue, même si le texte est ...
Vous pouvez utiliser le SetWindowCompositionAttribute em> sur un système.Window, mais vous êtes alors obligé de définir le windowstyle sur "Aucun" et de mettre en œuvre votre propre fenêtre de fenêtrage natif et poignées. Héritage également d'un contrôle personnalisé est assez compliqué. Longue histoire courte, il y a des brouillons. P>
Vous pouvez le trouver via Nuget Strong> en naviguant pour "BlurryControls" ou consultez le code vous-même sur github fort>. Soitway, j'espère que c'est utile. Il utilise .NET 4.5.2 et fonctionne uniquement pour Windows10, car il n'y a pas de solution à ce problème sur Windows8, et dans les versions antérieures (Windows7 et Vista), vous pouvez y parvenir en accédant à DwmenableBlurbehindwindow em>. p>
sur github, vous trouverez également une exemple d'application appelée BlurryWindowinvoker. P>
Vous pouvez appliquer ceci à une grille.
<Grid.Background> <VisualBrush> <VisualBrush.Visual> <Image Source="RESOURCES/BACKGROUNDS/BACKGROUND_01.jpg"> <Image.BitmapEffect> <BlurBitmapEffect KernelType="Gaussian" Radius="20" /> </Image.BitmapEffect> </Image> </VisualBrush.Visual> </VisualBrush> </Grid.Background>
Pourquoi ne pas utiliser de propriété uielement.effect?
Notez que le fond n'est pas flou dans votre deuxième image, juste le texte. Je ne suis pas sûr à quel point il sera facile d'obtenir l'effet que vous voulez. Ce quesiton dit quelque chose à propos de la mise en œuvre de shaders personnalisés ... Stackoverflow.com/questions/1304347/... peut-être que cela aiderait.
Découvrez également ce produit P / invoquez l'API de verre natif: Dotnet.dzone .Com / Articles / Aero-Glass-WPF-Windows