Заморочка интересная с WPF binding
почему для юзэрьконтрола все должно быть иначе?
Предположим, у меня на одной странице 3 контрола, а на другой еще где-то еще такой же.
Или у меня таб контрол, на все страницы один VW? Хотя опять таки зависит от ситуации.
зы: вам тоже всего хорошего в Новом году
заморочка новая, но открывать новую тему, думаю, не обязательно (или было бы удобнее?)
вопрос. как в WPF изобразить массу кружочков, чтобы было "легковесно" и каждый можно было бы красить своим цветом и при первопоказе, и потом менять?
довольно быстро прорисовывается EllipseGeometry, но цвет у всех в группе один.
могу, конечно, на канве по битам распрашивать, но это - некошер, и не уверен, что будет быстрее.
в идеале - ссылка на примегчик.
спасибо, но гуглить сами могём : )
никаких "новых библигтек" или "технологий" изучать не предполагается.
просто ищу хороший пример, как можно массу EllipseGeometry (заявлено, как очень лайтуэйт) нарисовать так, чтобы каждая из них получала свой цвет. подозреваю, что их для этого нужно помещать в отдельные "контейнеры", цвета будут определяться для контейнеров. но меня бы это устроило.
скорее всего сделаю все с shape-объектами, и пусть себе перерисовывает сколько хочет. или буду сам пикселы вырисовывать.
что их для этого нужно помещать в отдельные "контейнеры"
мне так не кажется Но можно глянуть.
я уже упомянул: никаких библиотек, новых передовых технологий и пр. только элементарные частицы : )
вот создайте новый впф-проект и поместите в грид, созданный по умолчанию, это. затем попробуйте поиграться с Center="50,5", и попытайтесь мне пояснить, относительно чего эти координаты. и почему этот кружочек не по координате 50 (х), а вроде как 0?
<Border BorderBrush="Gray" BorderThickness="1" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10" Background="Transparent"> <Image Stretch="None" HorizontalAlignment="Left"> <Image.Source> <DrawingImage> <DrawingImage.Drawing> <GeometryDrawing> <GeometryDrawing.Geometry> <GeometryGroup> <EllipseGeometry Center="50,5" RadiusX="5" RadiusY="5" /> <EllipseGeometry Center="50,15" RadiusX="5" RadiusY="5" /> <EllipseGeometry Center="150,25" RadiusX="5" RadiusY="5" /> </GeometryGroup> </GeometryDrawing.Geometry> <GeometryDrawing.Brush> <SolidColorBrush Color="Blue" /> </GeometryDrawing.Brush> </GeometryDrawing> </DrawingImage.Drawing> </DrawingImage> </Image.Source> </Image> </Border>
ничего особо сложного не нашёл
Скорость не мерял, но работает
<ItemsControl ItemsSource="{Binding Items}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <Canvas Background="WhiteSmoke" /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemContainerStyle> <Style TargetType="ContentPresenter"> <Setter Property="Canvas.Left" Value="{Binding X}"/> <Setter Property="Canvas.Top" Value="{Binding Y}"/> </Style> </ItemsControl.ItemContainerStyle> <ItemsControl.ItemTemplate> <DataTemplate> <Path Fill="{Binding Color}"> <Path.Data> <EllipseGeometry RadiusX="{Binding Radius}" RadiusY="{Binding Radius}"/> </Path.Data> </Path> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl>
exe из архива не удалял.
и попытайтесь мне пояснить, относительно чего эти координаты
Там масштабирование относительно Image, с этой добавкой будет получше, но получить абсолютные координаты будет проблематично
<Image Stretch="None" HorizontalAlignment="Left" Width="800" Height="600">
Рекомендуют то по другому
https://docs.microsoft.com/en-us/dotnet/desktop/wpf/graphi...
Правда что за скорость нужна такая, так и не понял. Ну да ладно...
на экране - несколько тысяч кружочков, которые 2-3 раза в секунду (хорошо, раз в секунду) меняют свой цвет. пока цветов - три, диаметр кружочков - одинаков, двигать их пока не нужно, не знаю, понадобится ли.
попробуйте в вашей проге нагенерить хотя бы тысячу, установить таймер и менять цвет каждой ежесекундно. уверен, экран будет замерзать на несколько секунд. а если будет несколько тысяч? несколько дейстков тысяч? а если несколько раз в секунду?
попробуйте в вашей проге нагенерить хотя бы тысячу, установить таймер и менять цвет каждой ежесекундно
1000 и 0.1 достаточно? Вполне так себе шустренько. Не знаю получится ли 400кб видео загрузить..
Загрузить получилось, но не хочет в пост грузится, это только часть экрана, полная 7 Мб
хотите сказать, что показывает 10 "кадров" в секунду? я вижу иногда вообще какие-то непонятные (вернее, понятные : ) подвисания.
у меня (начальный этап) 10 000 кружочков, 0.5. попробовал интервал 0.1 сек - тоже очень флот все бежит, но мне это слишком быстро, еще не знаю, или секунду или половину.
зы а чем вы это кыдо сняли?
хотите сказать, что показывает 10 "кадров" в секунду?
Угу
а чем вы это кыдо сняли?
Давно уже прикупил https://www.techsmith.de/
Очень всем рекомендую. Доки делать просто удовольствие.
На 10 000 похуже будет, но еще юзабельно
Давно уже прикупил https://www.techsmith.de/Очень всем рекомендую. Доки делать просто удовольствие.
какой именно продукт, чтоб я не терял время?