草庐IT

WPF-dataGrid

全部标签

c# - 获取父用户控件的名称WPF C#

我有权访问用户控件A。我想获取有关用户控件C的信息。在WPF中有什么方法可以做到这一点吗?结构基本上就是你所看到的。用户控件D是功能区,C是功能区上的选项卡,B和A是C的内容。我似乎无法访问C。我尝试使用A的Parent属性,但它似乎没有提供我关于C的信息。 最佳答案 尝试使用VisualTreeHelper.GetParent或使用递归函数here 关于c#-获取父用户控件的名称WPFC#,我们在StackOverflow上找到一个类似的问题: https:

c# - 如何在 WPF 中尽可能高效地绘制图形

我正在创建一个严重依赖图形节点树的工具。当前的实现是用Java完成的,我将它移植到C#上的通用代码库,因此它可以被各种渲染实现使用,也因为我想使用WPF的强大功能来实现用户友好的界面。逛了一天,发现了各种通过WPF绘制矢量图的方法。Thisguy谈到WPF开发人员可以选择的不同层。由于一开始我想纯粹使用WPF进行渲染,所以我想在“可视层”上工作。然后我遇到了这样的事情:DrawingVisual,GeometryDrawing,FrameworkElement/UIElement/形状因此,我对所有以完全不同的方式最终实现相同的不同实现感到有点不知所措。Graph-Node库的所有逻辑

c# - 使用 WPF 在虚拟化 TreeView 中选择一个节点

有没有办法在虚拟化TreeView中手动选择一个节点,然后将其放入View?我在TreeView中使用的数据模型是基于VM-M-V模型实现的。每个TreeViewItem的IsSelected属性都绑定(bind)到ViewModel中的相应属性。我还为TreeView的ItemSelected事件创建了一个监听器,我在其中为选定的TreeViewItem调用BringIntoView()。此方法的问题似乎是在创建实际的TreeViewItem之前不会引发ItemSelected事件。因此,在启用虚拟化的情况下,节点选择不会执行任何操作,直到TreeView滚动到足够多,然后当事件最终

c# - 在另一个线程中运行 WPF 控件

我在项目中使用的可视化控件来self没有源代码的库。更新时间太长(大约200毫秒)以同时在屏幕上显示这些控件中的三个以获得良好的UI响应。(我可能需要同时更新所有三个,这让我的UI在他们都在思考时卡住了~600毫秒)。我已经阅读了一些关于TaskScheduler的帖子,并且开始研究并行任务功能,作为在它们自己的线程中运行这些控件的一种方式。该平台将是多核的,因此我想利用同时处理的优势。问题是我什至不知道我不知道如何去做这件事,虽然..在WPF的主UI线程之外的单独线程中运行控件是否有合适的设计模式?具体:它是一个第三方map控件,当给定一个新的位置或缩放级别时,重新绘制所需的时间太长

c# - 用于大内容的 WPF 多行文本框

在WPF应用程序中,我想构建一个“在文件中查找”输出Pane,我可以在其中流式传输大量文本,而无需在每一行重新分配内存,如TextBox会做。WPFTextBox有一个单独的Text属性,它存储一个连续的字符串。每次我想添加内容时,我都需要执行textBox.Text+="NewText",这很糟糕。理想情况下,该控件将是虚拟的并且需要最少的资源,仅用于可见行。我考虑过将标准ListBox与VirtualizingStackPanel一起使用,但它不允许跨行选择文本。(在添加的每一行,我希望控件更新)有什么建议吗? 最佳答案 如果您

c# - 从 WPF 中的窗口中删除控件

如何从WPF中的窗口中删除控件?RemoveLogicalChild仅将其作为逻辑子项移除,但仍保持可见。 最佳答案 可视化树中的每个元素要么是树的根,如Window,要么是另一个元素的子元素。理想情况下,您会知道哪个元素是您要删除的元素的父元素,以及它是什么类型的FrameworkElement。例如,如果您有一个Canvas和许多child,并且您有一个之前添加到Canvas的Rectangle,您可以通过将其从Canvas中移除,将其从可视化树中移除,如下所示:canvas.Children.Remove(control);但

c# - C# WPF 中的只读复选框

我遇到了一个棘手的问题,我想从复选框中获得一些稍微不寻常的行为,但似乎无法弄清楚。欢迎提出任何建议。我想要的行为是:CheckBox已启用并准备好供用户单击,IsChecked表示存储在数据结构中的绑定(bind)bool值用户单击CheckBox导致点击事件触发,但数据结构中的绑定(bind)值未更新且CheckBox的可视化表示未更新,但它被禁用以停止进一步点击点击事件触发消息发送到远程设备,需要一些时间来响应远程设备响应导致数据结构更新为新值,然后绑定(bind)更新isChecked状态并重新启用CheckBox以供进一步点击我遇到的问题是,虽然OneWay数据绑定(bind)

c# - WPF 使用绑定(bind)分配静态资源

我正在尝试使用枚举来显示相应的图像。为此,我有一个值转换器,可将枚举转换为正确的资源名称。我的资源定义如下:这个有效:但这并没有,转换器被调用并且正确的值被传回。正确的语法是什么?为了完整起见,这是转换函数:publicobjectConvert(objectvalue,TypetargetType,objectparameter,System.Globalization.CultureInfoculture){switch((AlarmCategory)value){caseAlarmCategory.Category1:return"AlarmCat1";caseAlarmCate

c# - 即使关闭 WPF 跟踪设置,奇怪的资源字典警告也会出现在输出窗口中

我正在使用安装了2012年4月更新的VisualStudio2011测试版。我有调试选项->输出窗口>WPF跟踪设置所有值,包括资源字典已关闭。但我仍然继续看到警告消息,如System.Windows.ResourceDictionaryWarning:9:Resourcenotfound;ResourceKey='CheckBoxCooperStyle1'如果此类警告不是误报,如何调试它们? 最佳答案 Microsoft支持团队的回复“感谢更新。我很担心,因为我的测试发现了类似的结果。似乎有一些内部WPF跟踪代码不符合指定的设置。

c# - wpf中datagrid和grid的区别

DataGrid(不是GridView)和wpf中的Grid控件有什么区别? 最佳答案 AGrid是用于在表单(或页面)上布置其他控件的控件。ADataGrid例如,是一个用于显示从数据库中读取的表格数据的控件。 关于c#-wpf中datagrid和grid的区别,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2691304/