Witam. Chciałbym otrzymać taki oto wynik okna w XAML
niestety nigdzie nie znalazłem dll ani tutorialu jak takie coś osiągnąć. Może ktoś z Was się z takim czymś spotkał i podzieli się ze mną?
Witam. Chciałbym otrzymać taki oto wynik okna w XAML
niestety nigdzie nie znalazłem dll ani tutorialu jak takie coś osiągnąć. Może ktoś z Was się z takim czymś spotkał i podzieli się ze mną?
Trochę się pobawiłem i wymodziłem coś takiego:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="CustomWindow.MainWindow"
x:Name="Window"
Title="MainWindow"
Width="640" Height="480" WindowStyle="None" ResizeMode="NoResize" AllowsTransparency="True">
<Window.Background>
<SolidColorBrush Opacity="0.0" Color="#FF544545"/>
</Window.Background>
<Grid x:Name="LayoutRoot">
<Rectangle Fill="Yellow" Margin="20">
<Rectangle.Effect>
<BlurEffect Radius="30"/>
</Rectangle.Effect>
</Rectangle>
<Rectangle Fill="#FF544545" Stroke="Yellow" Margin="20" />
</Grid>
</Window>
I wygląda to tak:
Trzeba by nad tym o wiele więcej popracować, to powinno się udać coś takiego zrobić.
Niestety właśnie o to chodzi że rectangle nie wchodzi w grę ponieważ nie wspiera grid'a wewnątrz. Bardziej myślałem o jakiejś darmowej .dll która pozwoli dostać taki efekt jakimś znacznikiem
No to dodajesz grida nad rectangle.
<Grid x:Name="LayoutRoot">
<Rectangle Fill="Yellow" Margin="20">
<Rectangle.Effect>
<BlurEffect Radius="30"/>
</Rectangle.Effect>
</Rectangle>
<Rectangle Fill="#FF544545" Stroke="Yellow" Margin="20" />
<Grid Margin="20">
i tu wrzucasz co chcesz
</Grid>
</Grid>
Ale to wciąż jest bardzo dużo pracy z tym. Okna nie można przenosić ani powiększać, to z tym będą największe kłopoty ale myślę że da się to zaimplementować.
dam1an napisał(a):
No to dodajesz grida nad rectangle.
<Grid x:Name="LayoutRoot">
<Rectangle Fill="Yellow" Margin="20">
<Rectangle.Effect>
<BlurEffect Radius="30"/>
</Rectangle.Effect>
</Rectangle>
<Rectangle Fill="#FF544545" Stroke="Yellow" Margin="20" />
<Grid Margin="20">
i tu wrzucasz co chcesz
</Grid>
</Grid>
Ale to wciąż jest bardzo dużo pracy z tym. Okna nie można przenosić ani powiększać, to z tym będą największe kłopoty ale myślę że da się to zaimplementować.
No i w ten sposób nie dostaniemy drugiego rectangle na całym oknie. Samą obwódkę można zrobić dopisując do Window
WindowStyle="None" AllowsTransparency="True" BorderBrush="Green" BorderThickness="1"
ale jeszcze cień
chociaż cień mozna zrobić tak jak Ty + na grid ustawić background i efekt jest
Nie wiem o co Ci chodzi jakiego drugiego rectangla.
W ten sposób obwódkę dostaniesz ale w złym miejscu.
Zauważ że u mnie background okna jest całkowicie niewidoczny i w środku głównego grida są dwa mniesze od okna rectangle, jeden robi za tło i obwódkę drugi za blur.
dam1an napisał(a):
Nie wiem o co Ci chodzi jakiego drugiego rectangla.
W ten sposób obwódkę dostaniesz ale w złym miejscu.
Zauważ że u mnie background okna jest całkowicie niewidoczny i w środku głównego grida są dwa mniesze od okna rectangle, jeden robi za tło i obwódkę drugi za blur.
faktycznie masz rację. poleciałem za daleko