我有一個WrapPanel
其中包含一些圖像(縮略圖)。Loop雖然兒童元素,找東西,並訪問其兄弟財產
當用戶按左或右箭頭鍵,我想顯示下一個/上一個圖像。
private void frmMain_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.Right)
{
int j = 0;
foreach (Image child in WrapPanelPictures.Children)
{
if (child.Source == MainPic.Source)
{
MainPic.Source = WrapPanelPictures.Children[j + 1].Source;
}
j++;
}
}
}
另外我嘗試了一種LINQ方法,但我是LINQ的初學者。
var imgfound = from r in WrapPanelPictures.Children.OfType<Image>()
where r.Source == MainPic.Source
select r;
MessageBox.Show(imgfound.Source.ToString());
imgfound應該是一個列表,對不對?也許這就是爲什麼我無法訪問Source屬性。無論如何,這返回當前圖像顯示。我想要兄弟姐妹。
UPDATE: 那麼我提出了一個解決方法,就像現在一樣。但仍在等待一個合適的解決方案。
我創建了一個ListBox並將所有WrapPanel Childrens添加到它。然後使用SelectedItem
和SelectedIndex
屬性來選擇上一個和下一個項目。
你如何確定你的下一個和以前的起點(CurrentImage)? – WiiMaxx 2013-05-23 14:24:22
@WiiMaxx「MainPic」的來源決定了當前顯示的圖片。按左右方向鍵可以改變當前的圖像。我想我應該指出/鏈接縮略圖圖片和當前顯示在一起的圖片。由於我不能這樣做(但),我必須遍歷所有WrapPanel兒童。 – xperator 2013-05-23 14:38:17