WPF LIst<string> 转string
时间: 2023-08-11 19:06:27 浏览: 53
你可以使用 `string.Join` 方法将 `List<string>` 转换为一个字符串。例如:
```csharp
List<string> list = new List<string> { "apple", "banana", "orange" };
string result = string.Join(",", list);
```
这将创建一个包含所有字符串的逗号分隔列表,并将其存储在 `result` 变量中。
相关问题
WPF string转List<string>
你可以使用 `string.Split` 方法将一个字符串拆分成多个子字符串,并将它们存储在一个 `string` 类型的数组中。接下来,你可以将这个数组转换为一个 `List<string>` 类型的列表。例如:
```csharp
string str = "apple,banana,orange";
List<string> list = str.Split(',').ToList();
```
这将把字符串 `str` 拆分成三个子字符串,并将它们存储在一个 `List<string>` 类型的列表中。你可以使用 `foreach` 循环遍历这个列表来访问每个字符串。
wpf listbox中添加checkbox实现多选,listbox绑定的数据源是list<string>,并将选中的值传入后台,使用mvvm模型,给出示例代码
可以使用以下代码实现:
在 XAML 中:
<ListBox ItemsSource="{Binding MyList}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsSelected}" />
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
在 ViewModel 中:
public class MyViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private List<MyItem> _myList;
public List<MyItem> MyList
{
get { return _myList; }
set
{
_myList = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(MyList)));
}
}
public ICommand SaveCommand { get; }
public MyViewModel()
{
MyList = new List<MyItem>
{
new MyItem { Text = "Item 1" },
new MyItem { Text = "Item 2" },
new MyItem { Text = "Item 3" }
};
SaveCommand = new RelayCommand(Save);
}
private void Save()
{
var selectedItems = MyList.Where(x => x.IsSelected).Select(x => x.Text);
// 将选中的值传入后台
}
}
public class MyItem : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private bool _isSelected;
public bool IsSelected
{
get { return _isSelected; }
set
{
_isSelected = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsSelected)));
}
}
public string Text { get; set; }
}
其中,RelayCommand 是一个实现了 ICommand 接口的类,用于绑定按钮的 Command 属性。