powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Массив кнопок
10 сообщений из 10, страница 1 из 1
Массив кнопок
    #38418330
mr Vap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне нужно, чтобы на форме было 10000 кнопок (списком: например 20 х 50 с разными цифирками)
Кроме как использовать листбокс или датагрида на ум ничего не приходит.
Может кто уже подобное делал?
Есть у кого какие идеи

на винформ, создовал имаге, и считал где мышка бегает/кликает, ну и по одному квадратику обновлял по необходимости, работает быстро и красиво, как тут чтото подобное свершить и желательно c анимацией?
...
Рейтинг: 0 / 0
Массив кнопок
    #38471648
IRagnarok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mr Vap,

private void CreateButton()
{
// Добавляем

Button myButton = new Button();

myButton.Height = Global.SizeY; //меняешь размер если надо
myButton.Width = Global.SizeX;

myButton.Name = "кнопка1";
myButton.Margin = new Thickness(x,y, 0, 0); x,y - тут ты рандомом или нерандомом задаёшь местоположение
myButton.Content = "кнопка1";


MyGrid.Children.Add(myButton);
//и всё это зацикливаешь насклько надо

}
...
Рейтинг: 0 / 0
Массив кнопок
    #38471773
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для скорости можно VirtualizingStackPanel заюзать
...
Рейтинг: 0 / 0
Массив кнопок
    #38492941
mr Vap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
listbox + wrappanel вместо stackpanel - то что надо
...
Рейтинг: 0 / 0
Массив кнопок
    #38493031
unknownfromrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IRagnarok,

Таким образом создавать кнопки - это себя не уважать.
Не надо таскать элементы туда, где у тебя выполняется бизнес-логика
...
Рейтинг: 0 / 0
Массив кнопок
    #38493033
unknownfromrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr Vap,

Я бы посмотрел в сторону легкой геометрии и сделал их поведение как у кнопки
...
Рейтинг: 0 / 0
Массив кнопок
    #38494035
mr Vap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
unknownfromrus,
Можно еще легче?

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        <ListBox x:Name="DemoList" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
            <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapPanel />
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <!--<RepeatButton Content="{Binding}" Width="55" Click="RepeatButton_Click" />-->
                    <TextBlock Text="{Binding}" TextAlignment="Right" Width="55" />
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>



Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Private Sub MainWindow_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
        DemoList.ItemsSource = Enumerable.Range(1, 10000)
    End Sub

    Private Sub DemoList_SelectionChanged(ByVal sender As Object, ByVal e As System.Windows.Controls.SelectionChangedEventArgs) Handles DemoList.SelectionChanged
        Console.WriteLine(DemoList.SelectedValue)
    End Sub
    'Private Sub RepeatButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
    '    Console.WriteLine(sender.content)
    'End Sub
...
Рейтинг: 0 / 0
Массив кнопок
    #38494668
unknownfromrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr Vap,

DrawingVisual
Ну с учетом виртуализации, можно использовать обычные кнопки - ты в этом случае ничего не теряешь
...
Рейтинг: 0 / 0
Массив кнопок
    #38499748
mr Vap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
unknownfromrus,

не, притормаживать начинает
...
Рейтинг: 0 / 0
Массив кнопок
    #38500707
unknownfromrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr Vap,

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


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