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?

Teljes képernyő előtt és után

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:)

2 megjegyzés :

  1. “Ahány csengő: csendüljön,
    ahá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!

    VálaszTörlés
  2. Köszönöm:) Neked és kis családodnak is boldog ünnepeket!

    VálaszTörlés