WPF скопировать элемент

135
24 ноября 2020, 15:50

в коде создаю 2 похожих элемента для канваса:

Label tbN = new Label()
{
    Content = cN,
    Width=colWd,
    Height=lblH,
    Foreground=Brushes.White,
    HorizontalContentAlignment = HorizontalAlignment.Center,
    FontWeight = FontWeights.Bold,
    FontSize=10,
    IsHitTestVisible=false
};
Label tbD = new Label()
{
    Content = cD,
    Height = lblH,
    Width = colWd,
    Foreground = Brushes.White,
    HorizontalContentAlignment = HorizontalAlignment.Center,
    FontWeight = FontWeights.Bold,
    FontSize = 10,
    IsHitTestVisible = false
};
graphicCanvas.Children.Add(tbN);
graphicCanvas.Children.Add(tbD);

хочу упростить и скопировать все свойства из первого лабел и затем изменить в новом контент. делал так

Label tbD=tbN;
tbD.Content="something";

На этапе graphicCanvas.Children.Add(tbD); получаю "Указанный элемент Visual уже является дочерним по отношению к другому элементу Visual или корневому элементу CompositionTarget."

как правильно скопировать элемент?

Answer 1

Попробуй вот так

        Label tbN = new Label()
        {
            Content = "MyLabel",
            Width = 150,
            Height = 150,
            Foreground = Brushes.Blue,
            HorizontalContentAlignment = HorizontalAlignment.Center,
            HorizontalAlignment = HorizontalAlignment.Left,
            FontWeight = FontWeights.Bold,
            FontSize = 10,
            IsHitTestVisible = false
        };
        Label lbl2 = XamlReader.Parse(XamlWriter.Save(tbN)) as Label;
        lbl2.Content = "newLabel";
        lbl2.VerticalAlignment = VerticalAlignment.Bottom;
        graphicCanvas.Children.Add(tbN);
        graphicCanvas.Children.Add(lbl2);
READ ALSO
конвертировать массив из javascript в c#

конвертировать массив из javascript в c#

В проекте на c# использую скипт JS для сбора ссылочекСам скрипт на js:

126
ASP.NET Core SignalR. Ошибка подключения

ASP.NET Core SignalR. Ошибка подключения

Всем приветМожет быть я и задаю много вопросов

138
Выборка в mySQL по нескольким параметрам

Выборка в mySQL по нескольким параметрам

Голову сломал, поэтому, прошу помощиСуть вопроса: есть таблица table, в которой хранятся объявления

92
вывести pdf фалй полученный по curl

вывести pdf фалй полученный по curl

как вывести на страницу pdf файл полученный по curl через обращение на api ? если вывести print_r result То ничего нет , как убедится что файл получен ?

111