Member 14087194 Ответов: 1

Приложения Windows на C# изменение размера contentdialog


My solution plays a video and allows the user to click buttons as the video plays recording different statistics. The stats are stored in a List<class>. After a the play and before updating the SQLite Db each stat opens in the ContentDialog box asking for the player. The players are in a GridView on the ContentDialog and the user simply double taps the player and the stat is added to a new list. All of this works fine, but the ContentDialog box is not big enough to host the GridView once it is filled with all of the players. Is there a way to resize this control? If not, is there a way to create a new page/frame that will open async. I call the ContentDialog from a foreach loop and it awaits the return to update the list.

Что я уже пробовал:

Я попытался изменить ContentDialog на UserControl, но не смог назвать его асинхронным, и это ключ, так как он вызывается в цикле foreach для добавления каждого элемента списка с плеером. Я просто использую

UserControls.PlayerDG playerDG = new UserControls.PlayerDG();
await playerDG.ShowAsync();

1 Ответов

Рейтинг:
10

Member 14087194

Проведя еще немного исследований, я нашел решение, которое работает на меня. ContentDialog функционально делает именно то, что я хочу, и теперь я знаю, что его можно использовать для вызова UserControl. Хотя размер окна действительно кажется ограниченным, так как мне пришлось изменить макет моего элемента управления, чтобы все поместилось. Этот способ действительно дает мне больше недвижимости для работы. Ниже приведен код, чтобы использовать contentDialog для отображения пользовательских элементов управления

D = new ContentDialog
     {
          Title = GL.Qst + "?",
          Content = new PlayerSelUC()
     };

     await D.ShowAsync();