我正在尝试获取与鼠标单击的 ImageButton 关联的类数据;其中 ImageButton 位于 Scollviewer 包装的 WrapPanel 中,并填充了许多其他 ImageButton。问题是,虽然我可以看到 ImageButton 的实例选择了“((PlanetClass)(fe))”,并且可以看到类实例的基础数据“((PlanetClass)(fe)).Content”,但我无法访问任何类的字段数据。下面的例子说明了我的意图。
我是否正确地解决了这个问题(WrapPanel(包装在 ScrollViewer 中)-> ImageButton-> FrameworkElement -> 按钮实例 -> 字段数据)?如果不是,那么访问 ImageButton 实例和实例的关联数据的最佳方法是什么?谁能指出我正确的方向?
// WPF EventHandler at the container level:
<ScrollViewer ButtonBase.Click="SolarSystem_Click">
// Handles the ImageButton mouseClick event within the ScrollViewer wrapping the WrapPanel.
private void SolarSystem_Click(Object sender, RoutedEventArgs e)
{
FrameworkElement fe = e.OriginalSource as FrameworkElement;
SelectedPlanet PlanetSelected = new SelectedPlanet(fe);
MessageBox.Show(PlanetSelected.PlanetName);
}
// Used to initiate instance of ImageButton to access field data.
public SelectedPlanet(FrameworkElement fe)
{
return ((PlanetClass)(fe));
}
// Class Data
public class PlanetClass
{
string planetName;
public PlanetClass(string planetName)
{
PlanetName = planetName;
}
public string PlanetName
{
set { planetName = value; }
get { return planetName; }
}
}