private void CopyValue_Click(object sender, RoutedEventArgs e) { var value = ((sender as Button).DataContext as Field).Value; if (null == value) { return; } if (value is string str) { Clipboard.SetText(str); } if (value is SecureString sstr && 0 < sstr.Length) { Clipboard.SetText(Encoding.UTF8.GetString(CryptoUtilities.SecStrBytes(sstr))); } }