WPF добавить элемент в пользовательский интерфейс - PullRequest
0 голосов
/ 06 ноября 2019

Супер простой вопрос, я просто хочу добавить ярлык к моему окну. Я просмотрел похожие вопросы, но не нашел ответа.

У меня есть код XAML:

<Window [some preset values...]
        Title="MainWindow" Height="350" Width="525">
    <Grid Name="childGrid"></Grid>
</Window>

И мой код C #:

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            Label testLabel = new Label();
            testLabel.Content = "TEST";
            this.AddChild(testLabel);
        }
    }

Ничего не отображаетсяв окне нет ошибки. Какой код C # мне нужно исправить это?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

Вместо использования кода, вы можете воспользоваться XAML от wpf:

<Window [some preset values...]
        Title="MainWindow" Height="350" Width="525">
    <Grid Name="childGrid">
        <Label Content="Test"></Label>
    </Grid>
</Window>

(не тестировал, написал его в спешке)

Ознакомьтесь с этим хорошим руководством. используется, чтобы научиться использовать WPF достаточно хорошо для простого настольного приложения: https://www.wpf -tutorial.com / basic-controls / the-label-control /

0 голосов
/ 06 ноября 2019

Вы должны оставить вызов по умолчанию InitializeComponent() в конструкторе для начала.

Тогда у Window может быть только один дочерний элемент, поэтому вы должны установить Content для замены * 1006. * у вас уже есть.

public MainWindow() {
    InitializeComponent();
    Label testLabel = new Label();
    testLabel.Content = "TEST";
    this.Content = testLabel;
}

Наконец, это не то, как все было разработано для работы в WPF, это не те же принципы, что и в Windows Forms. Вы должны определить ваш Label в XAML, если вы хотите, чтобы он был в вашем MainWindow с самого начала, например:

<Window>
    <Label Content="Test"></Label>
</Window>

Если вы хотите, чтобы внутри были и Grid, и Label, такбудь то, но, возможно, вам все равно следует прочитать дополнительные сведения о XAML и WPF, если вы не хотите понимать это с самого начала:

<Window>
    <StackPanel>
        <Grid Name="childGrid">
            <Label Content="Test"></Label>
        </Grid>
    </StackPanel>
</Window>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...