powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / ListBox, как фон сделать без дырок между Item-ами в 4.0?
17 сообщений из 17, страница 1 из 1
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212559
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо сделать ListBox так, что бы у строк был фон, зависимый от содержимого. Причём, если несколько строк подряд идёт с одинаковым фоном, надо что бы фон шёл подряд, без разрывов. В Framework 3.5 сделал, всё работает:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
		<ListBox Name="lstProducts" HorizontalContentAlignment="Stretch">
			<ListBox.ItemContainerStyle>
				<Style>
					<Setter Property="Control.Padding" Value="0"></Setter>
					<Style.Triggers>
						<Trigger Property="ListBoxItem.IsSelected" Value="True">
							<Setter Property="ListBoxItem.Background" Value="DarkRed" />
						</Trigger>
					</Style.Triggers>
				</Style>
			</ListBox.ItemContainerStyle>
			<ListBox.ItemTemplate>
				<DataTemplate>
					<Grid Margin="0" Background="Green">
						<Grid Margin="3">
							<Grid.RowDefinitions>
								<RowDefinition></RowDefinition>
								<RowDefinition></RowDefinition>
							</Grid.RowDefinitions>
							<TextBlock FontWeight="Bold" Text="{Binding Path=ModelNumber}"></TextBlock>
							<TextBlock Grid.Row="1" Text="{Binding Path=ModelName}"></TextBlock>
						</Grid>
					</Grid>
				</DataTemplate>
			</ListBox.ItemTemplate>
		</ListBox>



А потом поменял у проекта Target Framework на 4.0, и вылезло уродство (см. скриншот). Возвращаешь на 3.5 - всё норм. Вопрос, как добиться, что бы фон опять был сплошным?
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212592
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня таких жирненьких расстояний не проявляется. Есть слабенькая полузеленая полоска, в режиме SnapToDevicePixels она исчезает, но такой дырки в два пиксела не наблюдается.

Можешь выложить проект?

Кстати, на скриншотах отличаются и стили кнопок.
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212603
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProКстати, на скриншотах отличаются и стили кнопок.от бишь, дело не в фреймворке, а в том, что применен другой стиль, возможно, наследуемый из ОС (Аэро/неаэро и т.п.). Из этого стиля приплыли где-то поля, их надо вычислить и зачистить, хотя бы тупо просмотрев визуальное дерево снупом.
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212624
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проект. Форма называется DataTemplateList.xaml

Что бы посмотреть, запусти и нажми первую кнопку.
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212644
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изначально я дербанил сампл из книги ProWPF версии 3.5, что бы рабочий проект не поломать.

Shocker.ProУ меня таких жирненьких расстояний не проявляется. Есть слабенькая полузеленая полоска, в режиме SnapToDevicePixels она исчезает, но такой дырки в два пиксела не наблюдается.

Да, если сделать пустой проект только с ListBox-ом, то под 3.5 он себя так и ведёт. Но под 4.0 - дырки.


Shocker.ProМожешь выложить проект?

Выложил


Shocker.ProКстати, на скриншотах отличаются и стили кнопок.
Это отличие появляется при смене Target fw. Никаких других действий я не предпринимал. PS у меня Windows 10, Visual Studio 2010.
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212649
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм, странно. Приложение, откомпилированное под FW 4.0 на Windows 7 выглядит нормально:
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212653
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13thЧто бы посмотреть, запусти и нажми первую кнопку.
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212661
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13thХм, странно. Приложение, откомпилированное под FW 4.0 на Windows 7 выглядит нормально:у меня на win7 нормально

проблема в теме, которую накатил win10
Там и кнопки и скроллер "плиточные"
На 3.5 эта тема, видимо, не работает, показывает старую.

Самое простое - просмотри визуальное дерево и найди, у кого там поля унаследовались ненулевые
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212677
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может, кстати, и не поля, а ненулевая ширина какого-нить бордера
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212678
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProСамое простое - просмотри визуальное дерево и найди, у кого там поля унаследовались ненулевые
О, спасибо за совет, так и сделаю.
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212768
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашёл отличие, в десятке Border-у ставится 1, в семёрке - 0 (см. скриншот). Как их теперь поменять?
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212776
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ListBox.ItemContainerStyle - он у тебя есть, просто добавь нужный сеттер
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212793
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProListBox.ItemContainerStyle - он у тебя есть, просто добавь нужный сеттер

Заработало!

Код: xml
1.
<Setter Property="Control.BorderThickness" Value="0" />
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212796
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro - большое спасибо, и за идею, и за подсказку в конце!
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39212797
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39213033
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня такая же байда была в 10 с MenuItem'ами кстати, который по сути является тем же ItemsControl'ом, что и ListBox
...
Рейтинг: 0 / 0
ListBox, как фон сделать без дырок между Item-ами в 4.0?
    #39213070
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плиточный интерфейс, чтоб его
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / ListBox, как фон сделать без дырок между Item-ами в 4.0?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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