Достать значение из numericUpDown которые находятся в списке List
List<Control> controls = new List<Control>();
controls.Add(d1); controls.Add(d2);
controls.Add(d3); controls.Add(d4);
controls.Add(d5); controls.Add(d6);
controls.Add(d7); controls.Add(d8);
controls.Add(d9); controls.Add(d10);
controls.Add(d11); controls.Add(d12);
controls.Add(d13); controls.Add(d14);
controls.Add(d15); controls.Add(d16);
controls.Add(d17); controls.Add(d18);
controls.Add(d19); controls.Add(d20);
controls.Add(d21); controls.Add(d22);
controls.Add(d23); controls.Add(d24);
controls.Add(d25); controls.Add(d26);
controls.Add(d27); controls.Add(d28);
В списке 28 элементов типа
<xctk:IntegerUpDown Name="d1" Grid.Row="0" Grid.Column="1" FontSize="14"/>
как достать значения из списка а именно d1.value; d2.value; и т.д
Ответы (2 шт):
Автор решения: aepot
→ Ссылка
Быть может вот так?
foreach (IntegerUpDown control in controls)
{
MessageBox.Show(control.value.ToString());
}
Автор решения: Bulson
→ Ссылка
Я не стал делать 28, а всего 3, вот такая разметка
<Grid x:Name="_grid">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<xctk:IntegerUpDown x:Name="_iUpDown1" Grid.Row="0"/>
<xctk:IntegerUpDown x:Name="_iUpDown2" Grid.Row="1"/>
<xctk:IntegerUpDown x:Name="_iUpDown3" Grid.Row="2"/>
<Button x:Name="_button"
Grid.Row="3"
Content="OK"/>
</Grid>
Тогда код такой
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
_button.Click += Button_Click;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
//cоздаем словарь в качестве ключа -> имя IntegerUpDown
Dictionary<string, int?> values = _grid.Children.OfType<IntegerUpDown>()
.ToDictionary(i => i.Name, i => i.Value);
//достаем значение по имени нужного IntegerUpDown
int value = values["_iUpDown2"] ?? 0;
}
}