Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Заморочка интересная с WPF binding

1981  1 2 3 4 5 6 все
AlexNek патриот02.01.21 22:57
AlexNek
NEW 02.01.21 22:57 
в ответ moose 02.01.21 21:03
почему для юзэрьконтрола все должно быть иначе?

Предположим, у меня на одной странице 3 контрола, а на другой еще где-то еще такой же.

Или у меня таб контрол, на все страницы один VW? Хотя опять таки зависит от ситуации.


зы: вам тоже всего хорошего в Новом году glassglassglass

#81 
  moose коренной житель03.01.21 20:33
NEW 03.01.21 20:33 
в ответ AlexNek 02.01.21 22:57

до старого нового года - никаких контролов!

#82 
  moose коренной житель19.01.21 16:59
NEW 19.01.21 16:59 
в ответ moose 03.01.21 20:33

заморочка новая, но открывать новую тему, думаю, не обязательно (или было бы удобнее?)

вопрос. как в WPF изобразить массу кружочков, чтобы было "легковесно" и каждый можно было бы красить своим цветом и при первопоказе, и потом менять?

довольно быстро прорисовывается EllipseGeometry, но цвет у всех в группе один.

могу, конечно, на канве по битам распрашивать, но это - некошер, и не уверен, что будет быстрее.

в идеале - ссылка на примегчик.

#83 
AlexNek патриот19.01.21 18:13
AlexNek
  moose коренной житель19.01.21 21:34
NEW 19.01.21 21:34 
в ответ AlexNek 19.01.21 18:13

спасибо, но гуглить сами могём : )

никаких "новых библигтек" или "технологий" изучать не предполагается.

просто ищу хороший пример, как можно массу EllipseGeometry (заявлено, как очень лайтуэйт) нарисовать так, чтобы каждая из них получала свой цвет. подозреваю, что их для этого нужно помещать в отдельные "контейнеры", цвета будут определяться для контейнеров. но меня бы это устроило.

скорее всего сделаю все с shape-объектами, и пусть себе перерисовывает сколько хочет. или буду сам пикселы вырисовывать.

#85 
AlexNek патриот19.01.21 22:30
AlexNek
NEW 19.01.21 22:30 
в ответ moose 19.01.21 21:34
что их для этого нужно помещать в отдельные "контейнеры"

мне так не кажется смущ Но можно глянуть.


https://github.com/Microsoft/InteractiveDataDisplay.WPF

#86 
  moose коренной житель20.01.21 22:18
NEW 20.01.21 22:18 
в ответ AlexNek 19.01.21 22:30

я уже упомянул: никаких библиотек, новых передовых технологий и пр. только элементарные частицы : )


вот создайте новый впф-проект и поместите в грид, созданный по умолчанию, это. затем попробуйте поиграться с 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>
#87 
AlexNek патриот20.01.21 22:31
AlexNek
NEW 20.01.21 22:31 
в ответ moose 20.01.21 22:18
никаких библиотек

не нужно их использовать, можно глянуть как сделано. смущ


вот создайте новый впф-проект

Да уж придется...

Хотя можно было и приаттачить.

Хочется значить много кружочков разных цветов...

#88 
  moose коренной житель21.01.21 00:59
NEW 21.01.21 00:59 
в ответ AlexNek 20.01.21 22:31
не нужно их использовать, можно глянуть как сделано

слишком сложно для моих целей. и будет ли перфоманс лучше, чем у shapes, неизвестно.

#89 
AlexNek патриот21.01.21 12:49
AlexNek
NEW 21.01.21 12:49 
в ответ moose 21.01.21 00:59

ничего особо сложного не нашёл смущ

Скорость не мерял, но работает


        <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 из архива не удалял.

#90 
AlexNek патриот21.01.21 12:56
AlexNek
NEW 21.01.21 12:56 
в ответ moose 20.01.21 22:18

А это какая то тупиковая форма, пока не имею понятия как туда накидать больше кружочков в MVVM смущ

#91 
AlexNek патриот21.01.21 13:09
AlexNek
NEW 21.01.21 13:09 
в ответ moose 20.01.21 22:18
и попытайтесь мне пояснить, относительно чего эти координаты

Там масштабирование относительно Image, с этой добавкой будет получше, но получить абсолютные координаты будет проблематично

<Image Stretch="None" HorizontalAlignment="Left" Width="800" Height="600">


Рекомендуют то по другому смущ

https://docs.microsoft.com/en-us/dotnet/desktop/wpf/graphi...

#92 
  moose коренной житель21.01.21 19:35
NEW 21.01.21 19:35 
в ответ AlexNek 21.01.21 13:09

Алекс, спасибо за поддерку!

в конце-концов выбросил все опробованное нафер и сделал на WritableBitmap. работает МИГОМ!

#93 
AlexNek патриот21.01.21 20:14
AlexNek
NEW 21.01.21 20:14 
в ответ moose 21.01.21 19:35

Всё хорошо, что хорошо работает спок

Правда что за скорость нужна такая, так и не понял. Ну да ладно...

#94 
  moose коренной житель22.01.21 16:50
NEW 22.01.21 16:50 
в ответ AlexNek 21.01.21 20:14
Правда что за скорость нужна такая, так и не понял. Ну да ладно...

на экране - несколько тысяч кружочков, которые 2-3 раза в секунду (хорошо, раз в секунду) меняют свой цвет. пока цветов - три, диаметр кружочков - одинаков, двигать их пока не нужно, не знаю, понадобится ли.

попробуйте в вашей проге нагенерить хотя бы тысячу, установить таймер и менять цвет каждой ежесекундно. уверен, экран будет замерзать на несколько секунд. а если будет несколько тысяч? несколько дейстков тысяч? а если несколько раз в секунду?


#95 
AlexNek патриот22.01.21 18:09
AlexNek
NEW 22.01.21 18:09 
в ответ moose 22.01.21 16:50, Последний раз изменено 22.01.21 18:11 (AlexNek)
попробуйте в вашей проге нагенерить хотя бы тысячу, установить таймер и менять цвет каждой ежесекундно

1000 и 0.1 достаточно? Вполне так себе шустренько. Не знаю получится ли 400кб видео загрузить..

Загрузить получилось, но не хочет в пост грузится, это только часть экрана, полная 7 Мб

#96 
  moose коренной житель22.01.21 18:39
NEW 22.01.21 18:39 
в ответ AlexNek 22.01.21 18:09

хотите сказать, что показывает 10 "кадров" в секунду? я вижу иногда вообще какие-то непонятные (вернее, понятные : ) подвисания.

у меня (начальный этап) 10 000 кружочков, 0.5. попробовал интервал 0.1 сек - тоже очень флот все бежит, но мне это слишком быстро, еще не знаю, или секунду или половину.


зы а чем вы это кыдо сняли?

#97 
AlexNek патриот22.01.21 20:21
AlexNek
NEW 22.01.21 20:21 
в ответ moose 22.01.21 18:39
хотите сказать, что показывает 10 "кадров" в секунду?

Угу смущ


а чем вы это кыдо сняли?

Давно уже прикупил https://www.techsmith.de/

Очень всем рекомендую. Доки делать просто удовольствие.


На 10 000 похуже будет, но еще юзабельно


#98 
  moose коренной житель22.01.21 20:48
NEW 22.01.21 20:48 
в ответ AlexNek 22.01.21 20:21

редуцируйте на 100 штук, тогда вы увидите, что такое 0.1 флот. "юзабильно" - неподходящее слово для того, что в фильме.

#99 
  moose коренной житель22.01.21 20:49
NEW 22.01.21 20:49 
в ответ AlexNek 22.01.21 20:21
Давно уже прикупил https://www.techsmith.de/Очень всем рекомендую. Доки делать просто удовольствие.

какой именно продукт, чтоб я не терял время?


1 2 3 4 5 6 все