C# WPF вытащить компонент из xaml

95
29 августа 2021, 16:50

Есть некое окно с разметкой Main.xaml, и есть некий файл с отдельно свёрстанным элементом(пусть будет Button.xaml) вот с такой начинкой

<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
    <Border >
        <Label Content="Text"/>
    </Border>
</Grid>

(это весь xaml файл)

Как мне подцепить этот элемент и положить его в какой либо контейнер?

Answer 1

Вот так, если предполагается, что Button.xaml лежит в каталоге с программой и его нужно загрузить во время выполнения:

using System;
using System.IO;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Markup;
namespace WpfApplication
{
    public partial class MainWindow : Window
    {       
        public MainWindow()
        {
            InitializeComponent();
            UIElement xaml = (UIElement)LoadXaml("Button.xaml");
            grid.Children.Add(xaml);
        }
        public static object LoadXaml(string path)
        {
            StreamReader sr = new StreamReader(path);
            using (sr)
            {
                object el = XamlReader.Load(sr.BaseStream);
                return el;
            }
        }
    }
}

Но XAML-файл, загруженный таким образом, не может содержать ссылок на методы (обработчики событий), определенные в коде. Допустим только чистый XAML.

READ ALSO
Подсчитать количество записей за 2018 год SQL

Подсчитать количество записей за 2018 год SQL

Всем привет, столкнулся с маленькой проблемойЕсть связанные таблицы, данные из них я получил, но мне нужно посчитать записи за 2018 год

223
Как применить два тега к переменной в PHP?

Как применить два тега к переменной в PHP?

Нужно вывести данные массива (дни недели)Выходные - выделить жирным шрифтом, причем текущий день - выделить курсивом

109
docker build error

docker build error

Полистал первые 2 страницы в гугле с этой проблемой, ничего не помоглоЖдать 9 часов не вариант =(

308
Получаю ошибку связанную с заголовком

Получаю ошибку связанную с заголовком

Создаю плагин для wordpress, который при активации будет создавать ячейку 'post_views' в таблице 'wp_posts', а при деактивации удалять еёСтолкнлулся с проблемой:...

102