我已经构建了许多(到目前为止 16 个)用户控件实例。 他们每个人都有相似的属性。我给每个人起了一个名字: x:名称 = “probeX” (其中 X 是整数)。 这些控件中的每一个都代表一个电探针。
我想编写一个方法,可以通过将 int 值传递到其属性之一来访问用户控件。
例如: 如果方法签名是: 无效SetMeasuredValueToProbe(intprobe_number,int值) 然后经过 设置测量值到探针(3, 22);
将设置“probe3”特定属性的值 22.
我知道我可以在方法内制作长开关盒。 但将来我想成倍增加探测器的数量。 所以我想知道命名和访问用户控件数组的正确方法是什么。
XAML:
<StackPanel
Grid.Column="0">
<uc:ProbeTestControl x:Name="probe1" x:Uid="1" ProbeValue ="1"/>
<uc:ProbeTestControl x:Name="probe2" ProbeValue ="2"/>
<uc:ProbeTestControl x:Name="probe3" ProbeValue ="3"/>
<uc:ProbeTestControl x:Name="probe4" ProbeValue ="4"/>
<uc:ProbeTestControl x:Name="probe5" ProbeValue ="5"/>
<uc:ProbeTestControl x:Name="probe6" ProbeValue ="6"/>
<uc:ProbeTestControl x:Name="probe7" ProbeValue ="7"/>
<uc:ProbeTestControl x:Name="probe8" ProbeValue ="8"/>
</StackPanel>
<StackPanel
Grid.Column="1">
<uc:ProbeTestControl x:Name="probe9" ProbeValue ="9"/>
<uc:ProbeTestControl x:Name="probe10" ProbeValue ="10"/>
<uc:ProbeTestControl x:Name="probe11" ProbeValue ="11"/>
<uc:ProbeTestControl x:Name="probe12" ProbeValue ="12"/>
<uc:ProbeTestControl x:Name="probe13" ProbeValue ="13"/>
<uc:ProbeTestControl x:Name="probe14" ProbeValue ="14"/>
<uc:ProbeTestControl x:Name="probe15" ProbeValue ="15"/>
<uc:ProbeTestControl x:Name="probe16" ProbeValue ="16"/>
</StackPanel>
MainWindow 类中的方法:
private void SetMeasuredValueToProbe(int probe_number, int value )
{
switch (probe_number)
{
case 1:
probe1.MeasuredValueBox = value;
break;
case 2:
probe2.MeasuredValueBox = value;
break;
default:
break;
}
}
我想知道在不编写意大利面条代码的情况下执行此操作的优雅方法。
眼眸繁星
相关分类