对于最小值和最大值,我需要调用大约50条不同的数据。我相信有一种比这样做更好的方法:
public void refreshminmaxvalues(List<minmaxvalues> listminmaxvalues)
{
txtMinA_1.Text = minmaxvalueslist[0].minvalue.ToString();
txtMaxA_1.Text = minmaxvalueslist[0].maxvalue.ToString();
txtMinB_1.Text = minmaxvalueslist[0].minvalueB.ToString();
txtMaxB_1.Text = minmaxvalueslist[0].maxvalueB.ToString();
txtMin_2.Text = minmaxvalueslist[1].minvalue.ToString();
txtMax_2.Text = minmaxvalueslist[1].maxvalue.ToString();
}上面的代码从列表中获取min和max的值。MinA和MinB是链接在一起的两个值,因此调用方式与其他值不同。超过txtMax_2的所有内容将只有一个最小值和一个最大值。
有没有人知道比写出所有50+值更好、更“高效”的代码编写方式呢?
如果有帮助,可以在XAML中编辑以下值:
<!-- Minimum -->
<TextBox Name="txtMinA_1" Text=""/>
<TextBox Name="txtMinB_1" Text=""/>
<TextBox Name="txtMin_2" Text=""/>
<TextBox Name="txtMin_3" Text=""/>
<TextBox Name="txtMin_4" Text=""/>
<!-- Maximum -->
<TextBox Name="txtMaxA_1" Text=""/>
<TextBox Name="txtMaxB_1" Text=""/>
<TextBox Name="txtMax_2" Text=""/>
<TextBox Name="txtMax_3" Text=""/>
<TextBox Name="txtMaxH_4" Text=""/>发布于 2015-10-28 22:36:22
您应该能够使用ItemsControl并绑定到它:
<ItemsControl x:Name="Mins">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding minvalue}"></TextBox>
<TextBox Text="{Binding minvalueB}"></TextBox>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<ItemsControl x:Name="Maxes">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding maxvalue}"></TextBox>
<TextBox Text="{Binding maxvalueB}"></TextBox>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>你可以像这样绑定一个类型到它上面:
Mins.ItemsSource = listminmaxvalues;
Maxes.ItemsSource = listminmaxvalues;发布于 2015-10-28 22:40:16
如果您确切地知道返回了多少条数据,那么您应该使用模型和数据绑定。
例如:
YourXaml.xaml
编辑:在DLeh的答案中使用ItemsTemplateSelector,但我的答案中的其他内容仍然有意义,并且是相关的。
<TextBox Name="txtMinA_1" Text="{Binding txtMinA_1.minvalue"/>
<TextBox Name="txtMinA_1" Text="{Binding txtMinB_1.maxvalue"/>
ect...YourXaml.xaml.cs
public class YourXaml{
public YourXaml(){
this.DataContext = new YourViewModel();
}
}YourViewModel.cs
public YourViewModel{
private minmaxvalues _txtMinA_1;
private minmaxvalues _txtMinB_1;
public minmaxvalues txtMinA_1
{
get{ return _txtMinA_1; }
set{ _txtMinA_1 = value; }
}
public minmaxvalues txtMinB_1
{
get{ return _txtMinB_1; }
set{ _txtMinB_1= value; }
}
}通过使用这种结构,您可以将视图(YourXaml.xaml)与模型和视图模型中的数据解耦。在WPF中,这是一种更高效、更被业界接受的工作方式。
在学习DataBinding的同时,你也会想要了解这些。
https://stackoverflow.com/questions/33393816
复制相似问题