|
|
|
|
@ -22,6 +22,8 @@ namespace WinUI
|
|
|
|
|
public partial class MainWindow : Window |
|
|
|
|
{ |
|
|
|
|
APIHandler handler = new APIHandler(); |
|
|
|
|
Regex charRegex = new Regex("[0-9a-fxA-FX]"); |
|
|
|
|
Regex wholeStringRegex = new Regex("^[0-9a-fxA-FX]+$"); |
|
|
|
|
|
|
|
|
|
public MainWindow() |
|
|
|
|
{ |
|
|
|
|
@ -29,6 +31,8 @@ namespace WinUI
|
|
|
|
|
|
|
|
|
|
updateStatus(); |
|
|
|
|
updateNetworks(); |
|
|
|
|
|
|
|
|
|
DataObject.AddPastingHandler(joinNetworkID, OnPaste); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void updateStatus() |
|
|
|
|
@ -61,8 +65,20 @@ namespace WinUI
|
|
|
|
|
|
|
|
|
|
private void OnNetworkEntered(object sender, TextCompositionEventArgs e) |
|
|
|
|
{ |
|
|
|
|
Regex regex = new Regex("[0-9a-fxA-FX]"); |
|
|
|
|
e.Handled = !regex.IsMatch(e.Text); |
|
|
|
|
e.Handled = !charRegex.IsMatch(e.Text); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void OnPaste(object sender, DataObjectPastingEventArgs e) |
|
|
|
|
{ |
|
|
|
|
var isText = e.SourceDataObject.GetDataPresent(DataFormats.UnicodeText, true); |
|
|
|
|
if (!isText) return; |
|
|
|
|
|
|
|
|
|
var text = e.SourceDataObject.GetData(DataFormats.UnicodeText) as string; |
|
|
|
|
|
|
|
|
|
if (!wholeStringRegex.IsMatch(text)) |
|
|
|
|
{ |
|
|
|
|
e.CancelCommand(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|