Показать ListBox со списком перечислений - PullRequest
1 голос
/ 17 июля 2010

Я пытаюсь отобразить ListBox внутри GridViewColumn, который необходимо привязать к списку перечислений (List<ResourceType> Cost) GridViewColumn ListView уже привязан к коллекции объектов, и я не совсем уверен, что лучший способ показать ListBox. Есть предложения?

1 Ответ

1 голос
/ 17 июля 2010

Вы можете связать ListBox со списком значений перечисления. Самый простой способ сделать это - использовать расширение разметки, которое я разместил здесь .

Затем необходимо связать SelectedItem из ListBox со свойством, отображаемым в GridViewColumn.

У вас должно получиться что-то вроде этого:

<GridViewColumn Header="Resource type">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <ListBox ItemsSource="{local:EnumValues local:ResourceType}"
                     SelectedItem="{Binding SelectedResourceType}">
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>

РЕДАКТИРОВАТЬ: Я думаю, что я неправильно понял ваш вопрос ... Если я правильно понимаю, каждый объект, отображаемый в ListView имеет свойство Cost типа List<ResourceType>, верно? (кстати, тот факт, что ResourceType является перечислением здесь не имеет значения). Так что вам просто нужно привязать ListBox к свойству Cost:

<GridViewColumn Header="Resource type">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <ListBox ItemsSource="{Binding Cost}">
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...