WPF multimédia lejátszó készítése C#-ban 5
Hogyan is tegyük teljes képernyőre az eddig elkészített médialejátszónkban a lejátszott videót?
A MediaElementünk végéhez írjuk be ezt: MouseLeftButtonUp="Media_MouseLeftButtonUp"
Most így nézz ki a MediaElement sora a Window1.xaml fájlban:
<MediaElement x:Name="Media" Margin="10" Volume="{Binding ElementName=slidVolume, Path=Value}" Balance="{Binding ElementName=slidBalance, Path=Value}" LoadedBehavior="Manual" MouseLeftButtonUp="Media_MouseLeftButtonUp"/>
A Window1.xaml.cs állományba pedig ezt kell beszúrnunk:
//Teljes képernyős-e
bool isFullScreen = false;
private void Media_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
//Ha teljesképernyős
if (!isFullScreen)
{
//Buttons Grid nem látszik, ennek a helyére az ablak tartalmának kiterjesztése
Buttons.Visibility = System.Windows.Visibility.Collapsed;
//Ablakszín fekete
LayoutRoot.Background = Brushes.Black;
//Ablakstílus tiltása
this.WindowStyle = WindowStyle.None;
//Ablakméret maximalizálása
this.WindowState = WindowState.Maximized;
}
//Ha nem
else
{
//Buttons Grid látszik
Buttons.Visibility = System.Windows.Visibility.Visible;
//Az ablak színe az rgb kódnak megfelelő lesz
LayoutRoot.Background = new SolidColorBrush(Color.FromRgb(74,120,187));
//Ablakstílus visszaállítása
this.WindowStyle = WindowStyle.SingleBorderWindow;
//Ablak mérete normál
this.WindowState = WindowState.Normal;
}
//Érték megfordítása
isFullScreen = !isFullScreen;
}
Létrehoztunk egy logikai változót isFullScreen néven. Ebben fogjuk tárolni, hogy jelenleg teljes képernyős módban vagyunk-e. Értelemszerűen hamisra állítjuk az értékét.
A MouseLeftButtonUp függvény akkor lép működésbe, ha a bal egér gombbal kattintunk egyet a videón. Egy feltételes elágazásban vizsgáljuk az isFullScreen értékét. Ha nem vagyunk teljes képernyős módban akkor eltűntetjük a gombokat. Ezt a Buttons.Visibility sorban csináljuk meg, ahol Collapsedre állítjuk az értékét, ami annyit tesz, hogy eltűnteti a gombokat és kiterjeszti a videót az egész LayoutRootra. A LayoutRootnak a háttérszínét feketére, hogy ne maradjon meg körben a csík az ablakból.
Ezzel még nem lesz teljes képernyőn a programunk. Ez a következő két sorban történik meg. A WindowStyle-lal eltüntetjük az ablak keretét, azt ahol szerepel az ablak címe, a kis méret, az előző méret és a bezárás gombok. A WindowState-tel pedig kiterjesztjük az egészet a képernyőre.
Az elágazás másik végében ugyanez megy csak visszafelé. Láthatóvá tesszük a gombokat. Ezután visszaállítjuk a háttérszínt. Ehhez tudnunk kell az eredeti szín RGB kódját, mert létre kell hoznunk egy SolidColorBrusht a kitöltéshez. Ennek a Color.FromRgb paranccsal adjuk át a színkódot. Visszaállítjuk az ablak fejlécét és a méretét. Legvégül pedig megfordítjuk a logikai változónk értékét.
Ezt ilyen pofon egyszerűen tudjátok megoldani:)
“Ahány csengő: csendüljön,
VálaszTörlésahány gyerek: örüljön,
ahány gyertya: mind égjen,
karácsonyi szépségben.”(Csanádi Imre)
Békés,boldog Ünnepeket kívánunk Neked és Családodnak!
Köszönöm:) Neked és kis családodnak is boldog ünnepeket!
VálaszTörlés