Как установить положение WPF в C # - PullRequest
0 голосов
/ 10 сентября 2018

Я написал программу в WPF с помощью Visual Studio, и моя программа работает отлично. Когда я публикую ее, на интернет-обозревателе это выглядит как изображение ниже. Я просто хочу видеть мое приложение сверху.

Это мой текущий вид This is my current view Это то, что я хочу This is what I want

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);
        }
    }
}

Ответы [ 3 ]

0 голосов
/ 12 сентября 2018

Не совсем точно, что вы спрашиваете.

Если вы хотите, чтобы ваше окно было выше всех других окон в ОС, вы можете использовать параметр IsTopMost = true.

Если вы хотите, чтобы один элемент в вашем окне отображался над чем-то другим, то это Z-порядок. В WPF Z-порядок определяется порядком, в котором элементы появляются в вашем XAML. Например, если вы создаете кнопку, то изображение и изображение будут размещены над кнопкой, потому что изображение определено ниже в XAML.

0 голосов
/ 24 сентября 2018

Это из-за вашего разрешения вы должны изменить размеры вашей формы, и она будет соответствовать.

0 голосов
/ 10 сентября 2018

Попробуйте добавить приведенный ниже код в тег <StackPanel> на стороне Page1.xml вашего кода.

<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>
...