Можно ли привязать список к списку кортежей в WPF



Если у меня есть список> можно ли привязать его к списку в wpf? Я, конечно, знаю, что могу привязать к словарям или чему-то еще, но в этом случае мне нужно отправить назад список, который может иметь одинаковые значения, поэтому имеет смысл (или кажется) иметь список кортежей? У кого какие соображения?

520   2  

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

    Ничего не найдено.