WPF 窗口中有 TextBox,用戶輸入如 10,20,30,40,點擊按鈕後將其解析為 string[] 或 int[] 供後續邏輯使用。
// XAML
// Code-behind
private void BtnParse_Click(object sender, RoutedEventArgs e) {
string raw = txtInput.Text.Trim();
if (string.IsNullOrEmpty(raw)) return;
// 1. 分割字符串
string[] strArr = raw.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries);
// 2. 可選:轉換為 int[] 並驗證
List intList = new List();
foreach (var s in strArr) {
if (int.TryParse(s.Trim(), out int val)) intList.Add(val);
}
// 3. 綁定顯示或傳遞給 ViewModel
lstResult.ItemsSource = intList; // 或 strArr
}
// ViewModel
public class MainViewModel : INotifyPropertyChanged {
private string _inputText;
public string InputText {
get => _inputText;
set { _inputText = value; OnPropertyChanged(); }
}
public ObservableCollection ParsedNumbers { get; } = new ObservableCollection();
public ICommand ParseCommand => new RelayCommand(Parse);
private void Parse() {
ParsedNumbers.Clear();
if (string.IsNullOrWhiteSpace(InputText)) return;
foreach (var s in InputText.Split(',')) {
if (int.TryParse(s.Trim(), out int v)) ParsedNumbers.Add(v);
}
}
// INotifyPropertyChanged 實現省略...
}
<!-- XAML 綁定 -->
<TextBox Text="{Binding InputText, UpdateSourceTrigger=PropertyChanged}" />
<Button Content="解析" Command="{Binding ParseCommand}" />
<ListBox ItemsSource="{Binding ParsedNumbers}" />
this.txtInput)。InitializeComponent() 後即可直接用 this.控件名 訪問。Click="方法名" 或 Command="{Binding 命令}"。
