Hirdetés
- [K2]: AnyDesk átverés
- Elektromos rásegítésű kerékpárok
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- eBay-es kütyük kis pénzért
- aquark: A legdrágább, nem antik és nem egyedi könyvek
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Gurulunk, WAZE?!
- btz: Internet fejlesztés országosan!
Új hozzászólás Aktív témák
-
Karma
félisten
válasz
trisztan94
#5579
üzenetére
Gondoltam segítek még egy lépéssel, mert odáig szép és jó, hogy összeraksz egy Gridet, azt is kezelni kéne, hogy melyik gombot nyomtad meg.
Lásd a következő kódot. A foreach ciklusban van a UI létrehozás, a körülötte egy async wrapper, illetve a legvégén másik metódusban példa, hogy hogyan lehet ezt használni.
public Task<int> ShowMultiButtonMessageBox(string caption, string message, IList<string> buttonContent)
{
var i = 0;
var tcs = new TaskCompletionSource<int>();
var grid = new Grid { Margin = new Thickness(0,24,12,0)};
var msgBox = new CustomMessageBox
{
Caption = caption,
Message = message,
Content = grid
};
foreach (var button in buttonContent.Select(content => new Button {Content = content}))
{
var index = i;
grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star)});
grid.Children.Add(button);
Grid.SetColumn(button, i);
button.Click += (sender, args) =>
{
tcs.TrySetResult(index);
msgBox.Dismiss();
};
i++;
}
msgBox.Dismissed += (sender, args) => tcs.TrySetResult(-1);
msgBox.Show();
return tcs.Task;
}
private async void OnTestButtonClicked(object sender, RoutedEventArgs e)
{
var i = await ShowMultiButtonMessageBox("Test", "Press a button!", new[] {"Hello", "Szia", "Mizu"});
MessageBox.Show(string.Format("Valasz: {0}", i));
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- A fociról könnyedén, egy baráti társaságban
- Papírvékony a jövő a Samsungnál: íme, a Galaxy TriFold!
- Linux Mint
- Milyen Android TV boxot vegyek?
- Ubuntu Linux
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- World of Tanks - MMO
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- [K2]: AnyDesk átverés
- További aktív témák...
- Bomba Ár! Lenovo ThinkPad L14 G1a - R5 4650U I 16GB I 256SSD I 14" FHD Touch I Cam I W11 I Gari!
- Bomba Ár! HP ProBook 650 G1 - i5-4GEN I 8GB I 128-256SSD I 15,6" HD I Cam I W10 I Garancia!
- Honor X7D / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- Xbox Series X 1 TB + kontroller 6 hó garancia, számlával!
- GYÖNYÖRŰ iPhone 12 Pro Max 128GB Graphite -1 ÉV GARANCIA -Kártyafüggetlen, MS3951, 100% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest

