Можно ли привязать список к списку кортежей в WPF
Если у меня есть список> можно ли привязать его к списку в wpf? Я, конечно, знаю, что могу привязать к словарям или чему-то еще, но в этом случае мне нужно отправить назад список, который может иметь одинаковые значения, поэтому имеет смысл (или кажется) иметь список кортежей? У кого какие соображения?
2 ответов:
Конечно, вы можете привязаться к нему. Я собрал следующий код позади:
public partial class MainWindow : Window { private readonly ObservableCollection<Tuple<DateTime, DateTime>> _dates = new ObservableCollection<Tuple<DateTime,DateTime>>(); public ObservableCollection<Tuple<DateTime, DateTime>> Dates { get { return _dates; } } public MainWindow() { DataContext = this; InitializeComponent(); PopulateList(); } private void PopulateList() { _dates.Add(new Tuple<DateTime, DateTime>(DateTime.Now, DateTime.Now)); _dates.Add(new Tuple<DateTime, DateTime>(DateTime.Now, DateTime.Now)); _dates.Add(new Tuple<DateTime, DateTime>(DateTime.Now, DateTime.Now)); } }И XAML:
<Window x:Class="GuiScratch.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <ListBox ItemsSource="{Binding Dates}"/> </Grid> </Window>Когда я запускаю его,я вижу список элементов с двумя датами, объединенными в качестве членов списка.
Тем не менее, хотите ли вы сделать это или нет, вероятно, зависит больше от конкретного контекста. Если необходимость иметь очень подключаемые типы привязки имеет смысл (например, дата-время может измениться на string или int), это может быть хорошим вариантом. Если ты этого не сделаешь, я бы сказал, что тебе лучше уйти. к чему-то более выразительному.
Да, вы можете привязать список к коллекции кортежей. Однако, если нет причин не делать этого, у меня будет коллекция вашего собственного типа, так как свойства, представленные в типе кортежа, не являются особенно описательными.
Comments