Ú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!
- Keressek intel i7-i9!!
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/1TB FHD IPS
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/512GB FHD IPS
- Dell PowerEdge T110 II PC, Xeon E3-1220 v2 CPU, 32 GB DDR3 RAM, 2 x 1 TB SAS HDD
- Lenovo Tab M10 HD 64GB, Kártyafüggetlen, 1 Év Garanciával
- Bontatlan iPhone 14 (128 GB) (rendelhető)
- HIBÁTLAN iPhone 15 Pro Max 256GB Blue Titanium -1 ÉV GARANCIA -Kártyafüggetlen, MS3693, 100% Akksi
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5600 / RX 6700XT 12GB / 16GB DDR4 / 500GB SSD
- Bomba ár! Lenovo ThinkPad T495 - AMD Ryzen 5 PRO I 8GB I 256GB SSD I 14" FHD I Cam I W11 I Gari!
- Apple iPhone 13 /128GB /Kártyafüggetlen / 12 Hó Garancia / akku: 85%
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest

