如何在c#中设置WPF的位置

我通过使用 Visual Studio 在 WPF 中编写了一个程序,我的程序运行良好。当我发布它时,它看起来就像 Internet Explorer 上的下图一样。我只想在上面看到我的应用程序。

这是我目前的看法

http://img2.mukewang.com/61daabb80001b84713630731.jpg

这就是我想要的

http://img2.mukewang.com/61daabc80001541e13640732.jpg

Page1.XML


xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"


xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"


Title="Page1">

<Grid>

    <StackPanel Margin="0,0,0,0" Name="stackPanel" 


       HorizontalAlignment="Left" VerticalAlignment="Top" />

</Grid>

Page1.xaml.cs


using System.Windows.Controls;

using System.Windows.Forms.Integration;

using BenzinTakip;


namespace WPFHost

{

    /// <summary>

    /// Interaction logic for Page1.xaml

    /// </summary>

    public partial class Page1 : Page

    {

        private readonly Form1 mainForm = new Form1();


        public Page1()

        {

            InitializeComponent();


            //Create a Windows Forms Host to host a form

            WindowsFormsHost windowsFormsHost = new WindowsFormsHost();


            mainForm.TopLevel = false;


            windowsFormsHost.Child = mainForm;


            stackPanel.Children.Add(windowsFormsHost);

        }

    }

}


叮当猫咪
浏览 277回答 3
3回答

饮歌长啸

这是因为您的分辨率必须更改表单的尺寸并且它会适合。

扬帆大鱼

尝试在代码一侧的<StackPanel>标签中添加以下Page1.xml代码。<StackPanel.Resources>&nbsp; &nbsp; &nbsp;<Style x:Key="StackPanelMargining" TargetType="Control">&nbsp; &nbsp; &nbsp; &nbsp; <Setter Property="Margin" Value="0,0,0,0"/>&nbsp; &nbsp; &nbsp;</Style>&nbsp; &nbsp; &nbsp;<Style BasedOn="{StaticResource StackPanelMargining}" TargetType="Your Target Element"/></StackPanel.Resources>

哔哔one

不知道你问的是什么。如果您希望您的窗口高于操作系统上的所有其他窗口,您可以使用 IsTopMost=true 参数。如果您希望窗口上的一个元素显示在其他元素之上,这就是 Z-Order。在 WPF 中,Z 顺序由元素在 XAML 中出现的顺序定义。例如,如果您创建一个按钮,则该图像将放置在该按钮上方的图像,因为该图像在 XAML 中进一步定义。
打开App,查看更多内容
随时随地看视频慕课网APP