2

我找到了一些代码,我想知道是否有人可以解释它是如何工作的。

<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 &quot;go full screen&quot;.
                        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>

我将代码更新为完整的 XAML 代码。我最初发布了相关部分,但我根据要求发布了整个代码。

我看到没有制作 window 的“代码” FullScreen。我的问题是如何使窗口“全屏”?

4

1 回答 1

2

我找到了一些代码,我想知道是否有人可以解释它是如何工作的

没有人可以,因为你错过了 Einstein::FullScreenBehavior 的行为

行为是自定义 XAML 元素,您错过了代码 - 您只有集成到页面中。

它不是关于开始的,它做了一些按钮和一些事件连接,没有说窗口开始全屏,除非检查了 FullscrrenButton_Checked。

但要了解它是如何工作的,您需要向我们提供行为代码。

于 2013-01-16T16:27:23.910 回答