【问题标题】:Launch WPF Class Library Project Full Screen启动 WPF 类库项目全屏
【发布时间】:2014-06-25 17:26:09
【问题描述】:

我有一个 WPF 类库(其中有一个用户控件是我的启动页面(类似于 MainWindow)。

用户控制的代码片段如下:

<UserControl x:Class="ABC" ...... >
    <Grid>
        <Label>Hello World</Label>
    </Grid>
</UserControl>

我创建了另一个 WPF 应用程序(标记为 Launcher),它本质上将调用此类库。

该项目没有任何 MainWindow(已将其删除)并且正在从 App.xaml 启动用户控件

<Application 
x:Class="Launcher.App" 
......
StartupUri="pack://application:,,,/Project;component/View/HelloWorld.xaml">

该应用程序永远不会以全屏方式启动,并且始终需要在启动时最大化它。

我知道答案应该是从 App.xaml 中删除 StartupUri 并放入 App.xaml.cs

 private void Application_Startup(object sender, StartupEventArgs e)
 {
     //What to put here
 }

由于没有 MainWindow,因此我不能这样做:

  MainWindow wnd = new MainWindow();
  wnd.Title = "Something else";
  //Set StartupMode = "Maximized"
  wnd.Show();

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    你知道你的屏幕尺寸吗,如果知道的话

        WindowStyle="None"
        WindowStartupLocation="Manual"
        Top="0" Left="0"
        ResizeMode="NoResize" 
        BorderThickness="0" 
        Height="1080" Width="1920"
    

    如果你需要在后面的代码中弄清楚

        WindowStyle="None"
        WindowStartupLocation="Manual"
        Top="0" Left="0"
        ResizeMode="NoResize" 
        BorderThickness="0" 
        Height="{Binding Height}" Width="{Binding Width}"
    

    为了得到大小看这里: The First Answer

    【讨论】:

    • Eran - 我不知道屏幕的大小(并且可以通过您发送的链接获得那些)。但我的问题更多与没有可使用的窗口有关。在您下面提到的示例代码中 - 正在为用户控制设置这些属性?
    • @Patrick OK 我想我明白了,你如何显示用户控制?将该代码添加到您的问题中。
    • Eran - 用户控件直接从应用程序中显示。现在 - 因为我没有前进 - 我从 Launcher 应用程序调用 MainWindow,然后在那里调用用户控件。这样我就可以访问所有窗口属性。不是一个理想的解决方案,但这种解决方法是暂时的。
    • 好的,我想我明白了,您的启动 URI 是一个用户控件,它永远不会全屏,请参阅我的回答中的编辑
    • 感谢 Eran 的所有帮助。我忘记输入 app.xaml 但我从第一天发布的代码就有了。无论如何,正如你所建议的(我之前已经写过) - 我现在从主窗口启动用户控件并可以完全访问主窗口属性
    猜你喜欢
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    • 1970-01-01
    相关资源
    最近更新 更多