为什么从后面的代码中看不到我命名的WPF形状?

瓦西达夫

我的EllipseWPF应用程序中有一个我想在双击时更改其轮廓的颜色。我找到了这个(旧的)教程,它通过使用可用MouseDown事件并ClickCount在事件处理程序中检查两个中的a使该工作正常进行这是解决我的问题的最简单的方法,在创建一个空按钮的Control Template之前,我想尝试使其工作
但是,我在文件后面的代码中找不到单击的椭圆。本来可以在本教程中使用,但我想知道是否丢失了任何内容。
这是包含椭圆的代码。它是网格的第三列:

<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Grid.Column="3">
     <StackPanel Orientation="Vertical" Margin="3,1" Background="GhostWhite">
        <ItemsControl Name="FlowLinkItems" ItemsSource="{Binding FlowLinkList}">
           <ItemsControl.ItemTemplate>
              <DataTemplate>
                 <Grid Height="40">
                    <Ellipse Name="FlowLinkEllipse" Stroke="BlueViolet" Height="38" VerticalAlignment="Center" MouseDown="Ellipse_MouseDown"/>
                    <TextBlock TextAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding Message}"></TextBlock>
                 </Grid>
              </DataTemplate>
           </ItemsControl.ItemTemplate>
        </ItemsControl>
     </StackPanel>
  </ScrollViewer>

在本教程中,方法的代码如下所示:

private void Ellipse_MouseDown(object sender, MouseButtonEventArgs e)
  {
     if (e.ClickCount == 2)
     {
        FlowLinkEllipse.Stroke = "Red";
     }
  }

我看到的错误是:

名称“ FlowLinkEllipse”在当前上下文中不存在

如果无法使用此方法,则我会接受尽可能简单的建议(我对WPF还是陌生的,我的应用程序只能处理此双击)。
注意:我的代码中确实包含此行,并且可以正常工作。
FlowLinkItems.MouseLeftButtonUp += FlowLinkItems_MouseLeftButtonUp;

麦加纳格

正如@Magus指出的那样,您不能从代码隐藏中引用项目,它位于内DataTemplate不过,这应该没问题:sender它将包含对椭圆的引用:

private void Ellipse_MouseDown(object sender, MouseButtonEventArgs e)
{
   if (ellipse as sender == null || e.ClickCount < 2)
      return;

   var ellipse = (Ellipse)sender;
   ellipse.Stroke = System.Windows.Media.Brushes.Red;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在cloudboost中看不到我的表?

来自分类Dev

为什么我的GridView对象在代码中看不到?

来自分类Dev

为什么我在我的表中看不到我的 JSON 数据?

来自分类Dev

为什么我在RAM中看不到我的文件?

来自分类Dev

为什么我在Chrome中看不到我的HTTP标头?

来自分类Dev

为什么我在 Fabric 中看不到我的 android 应用程序图标?

来自分类Dev

为什么Perl在工作的Windows目录中看不到我的文件?

来自分类Dev

为什么Sass在Express应用程序中看不到我的.scss文件?

来自分类Dev

为什么在图库中看不到我拍摄的照片?

来自分类Dev

为什么在ps程序输出中看不到我的脚本?

来自分类Dev

为什么在VM中看不到我的内部网络?

来自分类Dev

为什么Perl在工作的Windows目录中看不到我的文件?

来自分类Dev

为什么Sass在Express应用程序中看不到我的.scss文件?

来自分类Dev

为什么在情节提要中看不到我的自定义视图的预览?

来自分类Dev

为什么模块在引擎代码中看不到类?

来自分类Dev

为什么我在图资源管理器中看不到我的Facebook朋友

来自分类Dev

为什么我的Objective C模块在Xcode 8中看不到我的Swift 3类?

来自分类Dev

Angular 5 - 为什么我在 Chrome 的调试器中看不到我所有的 TypeScript 模型?

来自分类Dev

python为什么看不到我对代码所做的更改?

来自分类Dev

为什么Google测试会编译,但看不到我的项目源代码?

来自分类Dev

为什么Google测试会编译,但看不到我的项目源代码?

来自分类Dev

Java为什么看不到我的注释?

来自分类Dev

为什么看不到我创建的菜单?

来自分类Dev

为什么屏幕看不到我的别名?

来自分类Dev

为什么在Windows 7安装过程中看不到我的USB驱动器?

来自分类Dev

在phpmyadmin中看不到我的mySql项目

来自分类Dev

emacs在gentoo中看不到我的字体

来自分类Dev

在MessageDialog中看不到我的结果

来自分类Dev

为什么我的代码看不到其主要方法?

Related 相关文章

  1. 1

    为什么在cloudboost中看不到我的表?

  2. 2

    为什么我的GridView对象在代码中看不到?

  3. 3

    为什么我在我的表中看不到我的 JSON 数据?

  4. 4

    为什么我在RAM中看不到我的文件?

  5. 5

    为什么我在Chrome中看不到我的HTTP标头?

  6. 6

    为什么我在 Fabric 中看不到我的 android 应用程序图标?

  7. 7

    为什么Perl在工作的Windows目录中看不到我的文件?

  8. 8

    为什么Sass在Express应用程序中看不到我的.scss文件?

  9. 9

    为什么在图库中看不到我拍摄的照片?

  10. 10

    为什么在ps程序输出中看不到我的脚本?

  11. 11

    为什么在VM中看不到我的内部网络?

  12. 12

    为什么Perl在工作的Windows目录中看不到我的文件?

  13. 13

    为什么Sass在Express应用程序中看不到我的.scss文件?

  14. 14

    为什么在情节提要中看不到我的自定义视图的预览?

  15. 15

    为什么模块在引擎代码中看不到类?

  16. 16

    为什么我在图资源管理器中看不到我的Facebook朋友

  17. 17

    为什么我的Objective C模块在Xcode 8中看不到我的Swift 3类?

  18. 18

    Angular 5 - 为什么我在 Chrome 的调试器中看不到我所有的 TypeScript 模型?

  19. 19

    python为什么看不到我对代码所做的更改?

  20. 20

    为什么Google测试会编译,但看不到我的项目源代码?

  21. 21

    为什么Google测试会编译,但看不到我的项目源代码?

  22. 22

    Java为什么看不到我的注释?

  23. 23

    为什么看不到我创建的菜单?

  24. 24

    为什么屏幕看不到我的别名?

  25. 25

    为什么在Windows 7安装过程中看不到我的USB驱动器?

  26. 26

    在phpmyadmin中看不到我的mySql项目

  27. 27

    emacs在gentoo中看不到我的字体

  28. 28

    在MessageDialog中看不到我的结果

  29. 29

    为什么我的代码看不到其主要方法?

热门标签

归档