0
我有一个堆栈面板与多个文本块绑定到解析XML文件的结果。我可以使TextBlock可点击 - 基于XML解析结果吗?
我想让每个结果都有一个onlick事件,然后链接到更多信息甚至message.show框,但它必须使用它显示的结果中的值。
这对于disaplys结果列表框的.XAML部分。)
<ListBox Height="435"
HorizontalAlignment="Left"
Name="TradeSearch1"
VerticalAlignment="Top"
Width="397"
Grid.ColumnSpan="3"
Margin="0,63,0,0">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal"
Height="200">
<Image Source="{Binding ImageSource}"
Height="150" Width="150"
VerticalAlignment="Top"
Margin="0,10,8,0"/>
<StackPanel Width="370" >
<TextBlock Text="{Binding Title}"
TextWrapping="Wrap"
Foreground="#FFE51A1A"
FontSize="16" />
<TextBlock Text="{Binding PriceDisplay}"
TextWrapping="Wrap"
FontSize="20"
Foreground="Black" />
<TextBlock Text="{Binding ListingId}"
TextWrapping="Wrap"
FontSize="20"
Foreground="Black" />
<TextBlock Text="{Binding Region}"
TextWrapping="Wrap"
FontSize="18"
Foreground="Black" />
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
其中一个文本块的返回(ListingID)的值。理想情况下,当用户点击这个结果时,他们会被带到另一个页面,根据结果得到的LIstingID表单,这个页面会取消更多的结果。
上市ID为400332970
有没有办法到价值携带到另一个页面,并在这样的使用呢?其中ListingID.XMl将成为onClick结果中的listingId。
WebClient Trademe = new WebClient();
Trademe.DownloadStringCompleted += new DownloadStringCompletedEventHandler(Trademe_DownloadStringCompleted);
Trademe.DownloadStringAsync(new Uri("http://api.trademe.co.nz/v1/Listings/" + ListingID.xml));
对不起,如果这是令人困惑,我试图尽我所能解释。希望有人知道我在说什么。
会不会通过所有listingID的?而不是用户点击的那个?有大约20个不同的列表都与他们自己ListingID – Rhys
@Rhys:不,它不会。推测你将ListBox的ItemSource绑定到代码后面的某个集合。上面的答案中提到的'myObject'是该集合中的一个对象。因此,对应于ListBox的选定项目的对象将仅包含被轻击的ListBoxItem的列表ID。 – Praetorian
@keyboardP好吧,听起来像是我的解决方案。我不明白用对象类型替换我的对象?你的意思是String,Bool等? – Rhys