powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / ListView добавить отображение колекции
5 сообщений из 5, страница 1 из 1
ListView добавить отображение колекции
    #38983230
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток.
Есть список в котором хранятся данные, его необходимо отобразить в ListView
Причем в одном столбце данные необходимо отображать в виде индикатора, индикатор сделал в виде отдельного компонента и пытаюсь его добавить в ListView.
Добавить получилось, но вот привязать его к источнику данных не получается, У UserControl1 есть свойство RatingValue, пытаюсь к нему привязать данные через Binding, показывает что привязать можно только Sensors, а мне бы надо свойство объекта который хранится в коллекции Sensors, такое ощущение что он не видит привязку ItemsSource="{Binding Sensors}"

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<ListView Name="LvData" ItemsSource="{Binding Sensors}">
            <ListView.View>
                <GridView>
                    <GridViewColumn DisplayMemberBinding="{Binding Name}" Header="Номер датчика" />
                    <GridViewColumn DisplayMemberBinding="{Binding LevelValue}" Header="Урвоень сигнала,дБ" />
                    <GridViewColumn Header="Урвоень сигнала">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <model:UserControl1 />
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                    <GridViewColumn DisplayMemberBinding="{Binding Description}" Header="Примечание" />
                </GridView>
            </ListView.View>
        </ListView>



Подскажите как привязать контрол к данным, как для остальных столбцов ListView?
П.С. если в RatingValue задаю например 3 то число обрабатывается и отображается.
...
Рейтинг: 0 / 0
ListView добавить отображение колекции
    #38983391
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Внес исправление в текст:

Доброе время суток.
Есть список в котором хранятся данные, его необходимо отобразить в ListView
Причем в одном столбце данные необходимо отображать в виде индикатора, индикатор сделал в виде отдельного компонента и пытаюсь его добавить в ListView.
Добавить получилось, но вот привязать его к источнику данных (массив объектов Sensors) не получается, У UserControl1 есть свойство RatingValue, пытаюсь к нему привязать данные через Binding, показывает что привязать можно только Sensors, а мне бы надо свойство объекта который хранится в коллекции Sensors, такое ощущение что он не видит привязку ItemsSource="{Binding Sensors}"

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<ListView Name="LvData" ItemsSource="{Binding Sensors}">
            <ListView.View>
                <GridView>
                    <GridViewColumn DisplayMemberBinding="{Binding Name}" Header="Номер датчика" />
                    <GridViewColumn DisplayMemberBinding="{Binding LevelValue}" Header="Урвоень сигнала,дБ" />
                    <GridViewColumn Header="Урвоень сигнала">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <model:UserControl1 />
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                    <GridViewColumn DisplayMemberBinding="{Binding Description}" Header="Примечание" />
                </GridView>
            </ListView.View>
        </ListView>



Подскажите как привязать контрол к данным, как для остальных столбцов ListView?
П.С. если в RatingValue задаю например 3 то число обрабатывается и отображается.
...
Рейтинг: 0 / 0
ListView добавить отображение колекции
    #38983398
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В строке вывода отладчика пишет:
авторSystem.Windows.Data Error: 40 : BindingExpression path error: 'Sensor1' property not found on 'object' ''UserControl1' (Name='')'. BindingExpression:Path=Sensor1.QualityLevel; DataItem='UserControl1' (Name=''); target element is 'UserControl1' (Name=''); target property is 'RatingValue' (type 'Int32')
...
Рейтинг: 0 / 0
ListView добавить отображение колекции
    #38984539
Фотография @k@DElpher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Текст UserControl1 не привели.
Или вы так делаете?
Код: xml
1.
<model:UserControl1 RatingValue="{Binding Sensor1}" />
...
Рейтинг: 0 / 0
ListView добавить отображение колекции
    #38984816
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не очень понятно, зачем в шаблоне данных использовать UserControl, когда можно просто определить всё в самом шаблоне данных, при это использую триггеры и другие ништяки.
Шаблон данных, на то и шаблон данных, это не контрол.

UserControl это просто наследник ContentControl'а.

его имеет смысл использоваться, если вы собираетесь в итоге добавлять внутри другие объекты (непосредственно на конструкторе)/ При этом он включает в себя не еще и ScrollableControl, который в ячейке уж точно не нужен.

Имеет смысл просто взять контрол и определить в нём шаблон, задать свойства зависимости. И через {TemplateBinding} задать в шаблоне на основе его свойств внешний вид.

Но я бы просто создал в ресурсах шаблон для этого "Уровня сигнала" и просто им пользовался.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / ListView добавить отображение колекции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]