Как отличить контекст кнопки буфера обмена в динамическом шаблоне данных?C#

Место общения программистов C#
Ответить
Anonymous
 Как отличить контекст кнопки буфера обмена в динамическом шаблоне данных?

Сообщение Anonymous »

Я пытаюсь реализовать простую функциональность буфера обмена в разделе моего шаблона сетки данных, чтобы можно было копировать содержимое этой ячейки одним щелчком мыши, однако, поскольку все это генерируется динамически, я не уверен, как именно это сделать.
Вот визуальное представление, которое у меня есть на данный момент:
Изображение

Я хочу, чтобы поле, относящееся к кнопке, копировалось в буфер обмена, когда я нажимаю маленькую кнопку с глифом на ней. Ниже приведен мой Xaml и соответствующий код. Я не думаю, что UraniumUI на это как-то повлияет, но должен отметить, что я использую его для визуальных элементов. Я вырежу все ненужное или стилизующее с помощью... для экономии места
Xaml:








...All Closing Tags








...Button Image Was Here


..All Closing Tags


Каждое поле динамически генерируется и обновляется на основе связанного свойства. Я это тоже включу на всякий случай. Я вставил кнопку буфера обмена в виде строки, которая является копией значения, но не могу понять, как ее использовать.
Код:
public class MibDataGridInfoItem
{
public string? Name { get; set; }
public string? Value { get; set; }
public string? Clipboard_Button { get; set; }
}

public class InfoDataGrid : BindableObject, INotifyPropertyChanged
{

public ObservableCollection gridItems { get; set; } = new();
...
public void newSelectedItem (myItemType selectedItem)
{
Type sourceType = typeof(myItemType );

PropertyInfo[] visibleProps = sourceType.GetProperties();
gridItems.Clear();

foreach (PropertyInfo prop in visibleProps)
{
var value = prop.GetValue(selectedItem);
gridItems.Add(new GridInfoItem
{
Name = prop.Name,
Value = value.ToString(),
Clipboard_Button = value.ToString()
});
}
}
}

Как мне затем использовать событие Clicked, чтобы получить информацию из этой конкретной ячейки в метод Clicked ниже? Я думал о том, чтобы как-то использовать/привязать свойство Clipboard_Button, но не знаю, как назначить его кнопке в этом случае, поскольку это должно быть какое-то скрытое свойство в Xaml. Почти каждый пример, с которым я столкнулся при поиске, всегда ссылается на уже известное одно статическое поле, а не на настройку с несколькими полями, подобную этой.
private async void CopyToClipboard(object sender, EventArgs e)
{
await Clipboard.Default.SetTextAsync("Just Testing here");
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... tatemplate
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»