Пользовательские объекты в пользовательском списке WPF

У меня есть модель просмотра под названием Календарь.

в Календаре есть список объектов CalendarDaySquare. Они отображаются в ItemsControl, который является единой сеткой (из ItemsPanelTemplate).

В каждом из этих calendarDaySquares я хочу заполнить его коллекцией событий (объектов CalEvent)

public Class Calendar

{

// this is just a list that inherits from List<T> 
      public CalendarSquareList<CalendarDaySquare> Squares { get; private set; }

}

public class CalendarDaySquare
{

        public List<CalEvent> Events {get; private set;}

        public ObservableCollection<string> ObsColEvents{get; private set;}
}

Это то же самое, я только что попытался использовать ObservableCollection, потому что я был поставлен в тупик.

Вот мой xaml:

<ItemsControl ItemsSource="{Binding Squares}"
                Margin="0,0,0,263">
                <ItemsControl.ItemsPanel>
                    <ItemsPanelTemplate>            
                        <UniformGrid Columns="7" Rows="5"/>
                    </ItemsPanelTemplate>
                </ItemsControl.ItemsPanel>

                <ItemsControl.ItemContainerStyle>
                <Style>
                    <Setter Property="Control.Margin" Value="1"/>
                </Style>
                </ItemsControl.ItemContainerStyle>

                <ItemsControl.ItemTemplate>
                    <DataTemplate>


                                        <ListBox ItemsSource="{Binding}" Margin="5">
                                            <ListBox.ItemTemplate>
                                                <DataTemplate xmlns:local="clr-namespace:BudgetCalendarWPF.ViewModel;assembly=BudgetCalendarWPF" DataType="CalendarDaySquare">
                                                                <StackPanel Orientation="Horizontal">
                                                                    <TextBlock Text="{Binding}"/>
                                                                </StackPanel>
                                                </DataTemplate>
                        </ListBox.ItemTemplate>
                    </ListBox>

                                <!--</Button>
                                </ControlTemplate>
                            </Button.Template>
                        </Button>-->



                    </DataTemplate>

                </ItemsControl.ItemTemplate>
            </ItemsControl>

Я надеюсь, что я вставил последние (я работал над этим весь день, так что это именно то, что я получил в VS в настоящее время.. печальное лицо)

1 ответ

Уэлп, я думаю, что у меня все получилось, но я бы с удовольствием посоветовался.

Я старался изо всех сил. Я не знал, что это автоматически поднимет предмет, как это было. так что это сработало:

<ListBox ItemsSource="{Binding Events}">
                            <ListBox.ItemTemplate>
                                <DataTemplate >
                                    <Button HorizontalAlignment="Stretch">
                                        <TextBlock Text="{Binding Name}"/>
                                    </Button>
                                </DataTemplate>
                            </ListBox.ItemTemplate>
                        </ListBox>
Другие вопросы по тегам