如何在C#中设置WPF的位置
how to set position of WPF in c#
我通过使用 Visual Studio 在 WPF 中编写了一个程序并且我的程序工作 perfectly.When 我发布了它,互联网上看起来像下面的图片 explorer.I 只是想看看我的应用程序在上面。
这是我目前的看法
这就是我要的
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);
}
}
}
尝试将下面的代码添加到代码 Page1.xml
一侧的 <StackPanel>
标记中。
<StackPanel.Resources>
<Style x:Key="StackPanelMargining" TargetType="Control">
<Setter Property="Margin" Value="0,0,0,0"/>
</Style>
<Style BasedOn="{StaticResource StackPanelMargining}" TargetType="Your Target Element"/>
</StackPanel.Resources>
不确定您的具体要求。
如果您希望 window 在 OS 上高于所有其他 windows,您可以使用 IsTopMost=true 参数。
如果您希望 window 中的一个元素显示在其他元素之上,这就是 Z 顺序。在 WPF 中,Z-Order 由元素出现在 XAML 中的顺序定义。例如,如果您创建一个按钮,那么图像将放置在按钮上方,因为图像在 XAML 中进一步定义。
这是因为您的分辨率,您必须更改表单的尺寸并且它会适合。
我通过使用 Visual Studio 在 WPF 中编写了一个程序并且我的程序工作 perfectly.When 我发布了它,互联网上看起来像下面的图片 explorer.I 只是想看看我的应用程序在上面。
这是我目前的看法
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);
}
}
}
尝试将下面的代码添加到代码 Page1.xml
一侧的 <StackPanel>
标记中。
<StackPanel.Resources>
<Style x:Key="StackPanelMargining" TargetType="Control">
<Setter Property="Margin" Value="0,0,0,0"/>
</Style>
<Style BasedOn="{StaticResource StackPanelMargining}" TargetType="Your Target Element"/>
</StackPanel.Resources>
不确定您的具体要求。
如果您希望 window 在 OS 上高于所有其他 windows,您可以使用 IsTopMost=true 参数。
如果您希望 window 中的一个元素显示在其他元素之上,这就是 Z 顺序。在 WPF 中,Z-Order 由元素出现在 XAML 中的顺序定义。例如,如果您创建一个按钮,那么图像将放置在按钮上方,因为图像在 XAML 中进一步定义。
这是因为您的分辨率,您必须更改表单的尺寸并且它会适合。