我有一个嵌套在ListBox中的ListBox。
XAML
public static int bridge_count1(String[] input1,int input2)
{
int count=0;
Map<Integer,Integer> map=new TreeMap<Integer,Integer>();
for(int i=0;i<input1.length;i++)
{
String cityCon=input1[i];
String cityArray[]=cityCon.split("#");
int fst=Integer.parseInt(cityArray[0]);
int sec=Integer.parseInt(cityArray[1]);
map.put(fst, sec);
}
Iterator<Integer> it=map.keySet().iterator();
int max=0;
while(it.hasNext())
{
int val=map.get(it.next());
if(max<=val)
{
max=val;
count++;
}
}
return count;
}
我有两个系列。一个'场景'包含所有场景。我还有另一个收藏设备的藏品。现在我想将设备集合与场景配对,以便它显示每个场景的设备。我该怎么做?
模型
^[0-9,;]+$
视图模型
<ListBox ItemsSource="{Binding Scenes}">
<TextBox Text="{Binding Path=SceneNumber}"/>
<ListBox ItemsSource="{Binding EquipmentPerScene}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock>
<Run Text="{Binding Path=Item}"/>
</TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ListBox>
我试过这个,但这似乎不起作用。我不知道filterparameter。 或者这是完全错误的做法?
public class Scene
{
public Scene(string SceneNumber, string SlugLine)
}
public class Gear
{
public Equipment(string SceneNumber, string Item)
}
如何配对EquipmentPerScene为该特定listboxItem(场景)显示正确的设备。
答案 0 :(得分:0)
据我所知,您需要一种可以显示每个Scene对象的扩展数据的机制。我可以考虑两种方法。
<强>实施例强> 1.第一种是主/细节方法,每个选定的场景都会导致刷新EquipmentPerScene集合视图。对于此方法,您需要添加SelectedScene属性,并且当所选场景更改时,您将启动Update方法,该方法将刷新您的集合视图。这种情况将为您提供SceneNumber进行过滤(SelectedScene对象将)。 2.第二种是Scene对象扩展方法,每个Scene对象都会像你想要的那样提供自己的设备集合(你的解决方案是带有ListBox标签嵌套的包)。对于此方法,您需要将EquipmentPerScene observable collection属性添加到Scene类,并重新模板Scenes Listbox的每个ListBoxItem。像那样:
<ListBox ItemsSource="{Binding Scenes}">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate DataType="{x:Type soListBoxStyleHelp:Scene}">
<StackPanel>
<TextBlock>
<Run Text="{Binding Path=SceneNumber}"/>
</TextBlock>
<ListBox ItemsSource="{Binding EquipmentPerScene}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock>
<Run Text="{Binding Path=Item}"/>
</TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
如果您遇到代码和解释方面的问题,我很乐意提供帮助。 的问候,