Reputation: 9551
I found some code and I was wondering if someone can explain how it works.
<Window x:Class="FullScreenDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:Einstein="clr-namespace:FullScreenDemo"
Title="FullScreenBehavior Demo" Width="640" Height="480"
Einstein:FullScreenBehavior.IsFullScreen="{Binding Path=IsChecked, ElementName=FullScreenButton, Mode=TwoWay}">
<i:Interaction.Behaviors>
<Einstein:FullScreenBehavior
FullScreenOnDoubleClick="{Binding IsChecked, ElementName=FullOnDoubleClick}"
FullScreenOnMaximize="{Binding IsChecked, ElementName=FullOnMaximize}"
RestoreOnEscape="{Binding IsChecked, ElementName=ExitOnEscape}"/>
</i:Interaction.Behaviors>
<Viewbox Stretch="Uniform">
<Grid Width="640" Height="480">
<StackPanel Margin="20">
<TextBlock Text="Full Screen Demo" FontSize="32" />
<TextBlock TextWrapping="Wrap">
<LineBreak />
<LineBreak />
<Run>
The FullScreenBehavior makes it easy to create a WPF window that can "go full screen".
By default, the full screen setting can only be changed programmatically. Try pressing the
ToggleButton in the upper right hand corner which is Two-Way bound to the IsFullScreen
property of the Window.
</Run>
<LineBreak />
<LineBreak />
<Run>
This demo uses a ViewBox to scale the content with the Window but that is not required.
You can use whatever layout strategy you want.
</Run>
<LineBreak />
<LineBreak />
<Run>
There are properties that can be set that can be used to enable automatic full screen behavior
in response to common user actions. Play around with the options below which control how the
Window reacts to user gestures.
</Run>
<LineBreak />
</TextBlock>
<CheckBox x:Name="FullOnMaximize" Margin="5" Content="Maximizing enters full screen"/>
<CheckBox x:Name="FullOnDoubleClick" Margin="5" Content="Double clicking enters/exits full screen" />
<CheckBox x:Name="ExitOnEscape" Margin="5" Content="Pressing escape exits full screen"/>
</StackPanel>
<ToggleButton x:Name="FullScreenButton" Content="Full Screen"
Margin="8" VerticalAlignment="Top" HorizontalAlignment="Right"
Height="50" Width="120" Checked="FullScreenButton_Checked"/>
</Grid>
</Viewbox>
</Window>
I updated the code to the FULL XAML code. I originally posted the relevent parts but I am posting the entire code upon request.
I see that there is no "code" that makes the window FullScreen
. My question is how is it making the window "Full Screen"?
Upvotes: 2
Views: 229
Reputation: 62157
I found some code and I was wondering if someone can explain how it works
Noone can because you miss the behavior für Einstein::FullScreenBehavior
Behaviors are custom XAML Elements, and you miss the code - you only have the Integration into the page.
And it is not about starting, it does some button up and some Event hookup, nothing says the window starts full Screen UNLESS FullscrrenButton_Checked is checked.
But to see HOW it works, you Need to provide us the code for the behavior.
Upvotes: 2