问题标签 [uielement]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
866 浏览

c# - 动态和不可变的 UIElement 数组

我有一个WrapPanel包含多个Canvas相同大小的。每个Canvas都有一些UIElements(即TextBox, TextBlock, Buttons 等)作为孩子。每个Canvas(包括其UIElement子级)的创建和Canvas要创建的数量都在运行时代码后面(没有 XAML)中完成。

最初我做了以下工作:

上面的代码很简单,可以正常工作 - 直到我在我可以实现的地方实现添加、减号和销毁按钮

如果我处理上述 3 个操作的某种组合,我可以轻松地创建相同索引的 UIElements 或创建超出最初声明范围的 Canvas。

然而,我查看了List,每个 Canvas 都有不同的属性(每个 Canvas 也有具有不同属性的 UIElement Children),我不知道 List 如何解决它。我解决这个问题的一种方法是为 Canvas 声明一个超大的数组大小(例如Canvas[] cv = new Canvas[99999]但我认为这不是很有效。

另外,如果我使用 List,如何在生成特定 UIElement 后更改它们的属性?例如,如果我添加 10 个画布并添加到列表中,并且在它们全部生成之后,我需要选择第 5 个画布并更改一个 TextBox.Text,我如何像在数组中那样访问它(即 tb[5].文本=“你好”)?

谁能告诉我一些解决这个问题的方法?

0 投票
1 回答
349 浏览

c# - 访问列表中的 UIElement.Properties

Canvas在运行时创建了多个,每个Canvas都有一个TextBox作为孩子。这些CanvasWrapPanel. 我的代码如下:

如果在处理函数 10 次并创建 10 个画布后,我需要更改一个特定 UIElement 的文本(例如第 5 个文本框)。我该怎么做?在数组中没有像这样使用的索引。

[编辑] 如果我在运行时也生成了一个按钮点击事件,每个按钮都会关闭其对应的画布:

我应该将我的发件人与什么进行比较?

0 投票
1 回答
2001 浏览

wpf - 当鼠标指针离开 UIElement 时如何确定是否按下了鼠标按钮

我一直在 WPF 中开发一个 GUI,我对它还很陌生,到目前为止只使用过 Windows 窗体。到目前为止,我的 GUI 非常简单:它包含两个矩形,每个矩形都有一个阴影。可以说,阴影会产生“漂浮在画布上方”的矩形效果。

当按下其中一个矩形时,myRectangle.MouseDown会处理事件以使阴影消失,从而创建矩形被按下到画布上的效果,就像按钮一样。类似地,当鼠标按钮被释放时,myRectangle.MouseDown事件被处理使得阴影重新出现并且矩形再次“浮动”。这种行为使它们类似于按钮。请注意,我希望它们是矩形而不是自定义按钮是有原因的。

这是我上面描述的一些代码:

到目前为止,一切都很好。我遇到问题的一种情况是,当鼠标光标离开矩形而鼠标按钮仍被按下时,矩形永远保持“按下”状态,因为显然,按钮没有在矩形上方释放.

有没有办法解决这个问题?我想看到的行为如下:

  • 如果在按下鼠标按钮时指针离开矩形,我希望阴影重新出现。这可以说很简单,因为理论上在这种情况下,任何时间myRectangle.MouseLeave被提升,阴影都应该重新出现,即使它已经存在。
  • 如果在按下鼠标按钮时指针离开了一个矩形,然后在释放按钮之前又回来了,我希望阴影再次消失。这给我带来了问题。不知道该怎么做。

我试过myRectangle.IsMouseCaptured了,这总是错误的。是否有任何布尔值事件UIElementRectangle特别可以帮助我解决这个问题?

0 投票
1 回答
2406 浏览

c# - 从动画完成事件中获取 UIElement

从我的代码隐藏我想开始一个特定的动画UIElement,当该动画结束时我想做一些其他的处理UIElement。我无法弄清楚如何将AnimationClock作为 Animation Completed 事件的发送者收到的对象转换UIElement为执行动画的对象。

这是我用来构建和启动动画的代码:

这是我想UIElement再次访问的已完成事件。

任何帮助将不胜感激。

0 投票
1 回答
203 浏览

silverlight - 根据模型中的数据折叠 Silverlight LOB 应用程序中的 UIElements

在一个表单中,我为每个要返回的字段提供了一个用户控件。该控件由堆栈面板中的标签和纹理块组成。该控件是构成我的表单的数据模板的一部分,该表单由包含用户控件的包装面板组成。我的意图是在呈现表单以评估模型中返回的绑定属性时,如果它为 null,则将控件的可见性设置为折叠。目的是仅在返回数据的表单中呈现字段。换行面板允许控件保持内联而不是允许表单中有多余的空白。

我最初的想法是遍历返回的 List,如果模型中的属性为 null,则通过依赖属性将控件的可见性设置为折叠。我在这里担心的是性能,因为某些表单有 700 多个字段/属性。

我很想知道是否有人做过类似的方法,或者他们用什么方法来控制 UIElements 的可见性

在此先感谢您的任何建议

0 投票
1 回答
171 浏览

c# - UIElement 已从 canvas.Children 集合中删除,但仍会绘制。为什么是这样?

我尝试UIElementCanvas. 但尽管它已从 canvas.Children 集合中移除,但仍保留在画布上绘制。

你知道这个问题的任何解决方案吗?

0 投票
1 回答
1600 浏览

c# - 如何复制 UIElement 并保留布局/渲染信息?

我希望复制复杂的数据绑定UIElement,但保留原始 UIElement 中的绑定、布局和渲染信息。

创建一个新的UIElement似乎效率低下,因为我必须做另一个完整的绑定/测量/排列/渲染通道。

到目前为止,我最接近的是创建一个新的DrawingVisual,打开它进行渲染,并使用源 UIElement 进行 DrawDrawing DrawingGroup

这是一个好方法吗?它是否适用于复杂的 UIElement(例如,边界内的许多面板、自定义控件等)?

为了给你一个背景,我正在制作一个DocumentPaginator运行良好,但由于重新创建相同的 UIElement 而效率低下。

在此先感谢,皮特

0 投票
1 回答
1316 浏览

silverlight - Silverlight:为网格或 UIElement 设置数据上下文不起作用

我遗漏了一些应该是直接绑定的东西,我希望有人能指出我正确的方向。

我有一个 SL 应用程序,它有一个名为 PeopleView 模型的视图模型,其中包含一个人的数字或属性(姓名地址等)该页面由一个用户控件、一个文本框和一个网格视图组成

用户控制代码

这个容器由另一个用户控件组成,该控件绑定到资源字典以提取标签名称,然后是一个内容字段,该字段将绑定到从我的视图模型(MyContent)返回的属性。这里的目标是创建一个通用控件,用于显示集合中的标签名称和值。IE。名字:John 目前,该标签在绑定到资源字典时起作用,但值 (MyContent) 的绑定不返回任何内容。

这是 MainPage.xaml 的 xaml

mainpage.xaml 背后的代码是

我插入了一个网格只是为了测试,它返回的值很好。但是,我尝试将主视图的 DataContext 绑定到集合,以便我可以在用户控件或我在主页中添加的测试文本块中填充绑定字段。

有人可以为我指出正确的方向,了解如何将 UIElements 正确绑定到 ItemsSource 之外的集合。我一直对网格或列表框项目执行此操作没有问题,但现在在尝试表示某些内容(UI 中的单个字段)时我遇到了困难。 更新:

经过短暂的心理失误后,我重新绑定了一个集合,我会将用户控件放入列表框中,这是更新后的主页 xaml

我将 mainpage.xaml.cs 文件中的数据上下文更新为

我在列表框中得到了准确的记录 (2) 返回,但是绑定仍然没有在用户控件(内容字段)中发生以显示集合中返回的值

任何指针仍将不胜感激。

0 投票
2 回答
1047 浏览

silverlight - Silverright - 设置 MVVM 中 UIElements 的 tabindex

我正在尝试UIElement在用户控件中设置两个 s 的选项卡索引。用户控件包含一个文本框和按钮。我目前通过附加属性将焦点应用于文本框,但是我希望能够按 Tab 键并从文本块导航到按钮或检测按键(Enter 键)并触发按钮上的命令(我知道单独的问题)

主要重点是首先完成标签索引。

感谢您的任何指示或建议。

更新

从那以后,我尝试使用附加属性来处理跳转顺序

但是,当我尝试编译时,我收到按钮控件的 TabIndex 属性不存在的错误。任何想法为什么这会失败?

0 投票
2 回答
17387 浏览

wpf - WPF/Silverlight 中的 UIElement 与 FrameworkElement

我什么时候从继承UIElementFrameworkElement考虑FrameworkElement继承UIElement。任何人都可以举出现实生活中的例子吗?