XML и листбокс
. есть xml документ
[HTML]
<HEAD>
<MenuPosition Name="Pasta">
<Item>
<Name>Pasta1</Name><About>blabla</about><Producer>XXX</Producer>
</Item>
<Item>
<Name>Pasta2</Name><About>blabla</about>Producer>YYY</Producer>
</Item>
<Item>
<Name>Pasta3</Name><About>blabla</about>Producer>ZZZ</Producer>
</Item>
</MenuPosition>
<MenuPosition>Ice</MenuPosition>
</HEAD>
[/HTML]
- есть комбо бокс и листбокс: в комбо стоят MenuPositions - Pasta, Ice
в листБоксе стоят Items, принадлежащих каждой MenuPosition.
То есть, например, если в комбо стоит Pasta - то в листБоксе стоят Pasta1,Pasta2,Pasta3. Для Ice - само. И так далее.
Для подключения ComboBox и ListBox я использую XPath. В листбоксе -single selection
Также у меня есть и отдельный пустой листБокс, в который я хочу помещать "заказанные" позиции.
К примеру, нажал пользователь Pasta в Комбо, потом выделил допустим Pasta1 в листБоксе и нажал кнопку. Заказанная позиция должна будет добавиться в пустой листБокс.
Для этого я использую следующую строку:
FoodLB.Items.Add(menuItem.SelectedValue);
// FoodLB - пустой листбокс
//menuItem-это ЛистБокс в котором стоят Pasta1,Pasta2,Pasta3.
Моя проблема в следующем - в место названия "Pasta1" довалются все значения его аттрибутов. В листбоксе у меня стоит следующее: Pasta1 blabla XXXX. А мне нужно чтобы стояло только Pasta1.
Подскажите, как правильно написать.
спасибо за ответы
И кстати вот ещё что: если вы пишете приложение для ресторанов (и если комбобокс по-вашему то же, что и по-моему), не забыли ли вы, что выбор из длинного раскрывающегося списка на тачскрине — занятие, сопоставимое по удобству с надеванием штанов через голову?
в комбл я бобавляю так -
[HTML]
<StackPanel Margin="-15,8,17,0" Grid.Row="1" Height="362" VerticalAlignment="Top">
<ComboBox x:Name="menuItems" ItemsSource="{Binding XPath=MenuPosition}" IsSynchronizedWithCurrentItem="True" HorizontalAlignment="Left" Margin="30,95,0,0" VerticalAlignment="Top" Width="260" Height="36" FontFamily="Forte" FontSize="18">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock TextWrapping="Wrap" Text="{Binding XPath=@Name}"/>
</DataTemplate>
</s:ComboBox.ItemTemplate>
</s:ComboBox>
[/HTML]
потом идет листбокс, связанный с ним:
[HTML]
<s:SurfaceListBox Foreground="Black" ItemsSource="{Binding Path=SelectedItem, ElementName=menuItems}" IsSynchronizedWithCurrentItem="True" x:Name="menuItem" SelectionMode="Single" MinHeight="120"
HorizontalAlignment="Left" Margin="48,40,0,0" Width="306" VerticalAlignment="Top" Height="123" FontFamily="Forte" FontSize="16" >
<s:SurfaceListBox.Effect>
<DropShadowEffect/>
</s:SurfaceListBox.Effect>
<s:SurfaceListBox.ItemTemplate>
<DataTemplate>
<TextBlock TextWrapping="Wrap" Text="{Binding XPath=Name}" Margin="0,2" ><InlineUIContainer>
</InlineUIContainer></TextBlock>
</DataTemplate>
</s:SurfaceListBox.ItemTemplate>
</s:SurfaceListBox>
[/HTML]