gpt4 book ai didi

C# WPF 想要点击 Stackpanel 的 child

转载 作者:行者123 更新时间:2023-11-30 13:22:20 27 4
gpt4 key购买 nike

我正在使用 StackPanel。在我的应用程序中,我必须显示包含 3 到 x 个图像的多 tiff,并且在我单击其中一个图像后必须在新窗口中打开它们。

显示它们很容易:

public void Bilder_anzeigen(string path)
{
TiffBitmapDecoder decoder = new TiffBitmapDecoder(new Uri(path), BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);

foreach (var i in decoder.Frames)
{
Image myImage = new Image();
myImage.Source = i;
Stackpanel_Tiff.Children.Add(myImage);
}
}

但是我怎样才能通过单击 StackPanel 获得一个 child ?有一个 MouseDown 事件,但引发后,我不知道我点击了哪个图像。我只知道有一个点击。如何找到被点击的图片?

最佳答案

你可以找出哪个Image使用 PreviewMouseDown 很容易被点击事件和 OriginalSourceMouoseButtonEventArgs对象:

<StackPanel PreviewMouseDown="StackPanel_PreviewMouseDown">
<Image Source="Images/Add_16.png" Stretch="None" />
<Image Source="Images/Edit_16.png" Stretch="None" />
<Image Source="Images/Copy_16.png" Stretch="None" />
</StackPanel>

...

private void StackPanel_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
if (e.OriginalSource is Image)
{
string imageSource = ((Image)e.OriginalSource).Source.ToString();
}
}

关于C# WPF 想要点击 Stackpanel 的 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25428660/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com