草庐IT

wpf-grid

全部标签

c# - 如何将焦点设置到 WPF 工具包数据网格的特定单元格

我正在使用WPF工具包提供的DataGrid控件来显示产品列表及其OpenStock、描述等。在此DataGrid中,我已将OpenStock列设置为可编辑,其余列不可编辑。当我的这个窗口加载时,我现在想要的是,我想将键盘焦点设置到OpenStock列的第一个单元格,如果可能的话,在编辑模式下。我搜索了2天,最后在这里发布。任何帮助或代码示例都会有所帮助。非常感谢.......... 最佳答案 您需要将当前单元格设置为您要编辑的单元格,然后调用BeginEdit在您的Loaded处理程序中:dataGrid1.CurrentCell

c# - WPF:标准且类似于 `SplitContainer` 的东西?

WPF中是否有类似于WindowsFormsSplitContainer的标准和类似的东西?我对网格有点迷茫,因为控件似乎不在单元格内部,而是在单元格之上:s。我做了一些谷歌搜索,但我不知道在搜索字段中写什么... 最佳答案 如何使用网格和GridSplitter制作水平SplitContainer的示例就像雪熊说的: 关于c#-WPF:标准且类似于`SplitContainer`的东西?,我们在StackOverflow上找到一个类似的问题: https:/

c# - 使用 WPF MVVM 预呈现/隐藏负载?

我有一个用WPF编码的控件,它可以具有三个子元素之一-两个SimpleChildElements和一个ComplexChildElement,比方说-并根据模型中的一些幕后逻辑在它们的显示之间交换我这样做。子元素是它们自己的ViewModel,我已经在上游声明了一些资源,所以它们有DataTemplates。如果有帮助,我可以详细说明,但问题的关键在于:当我滚动浏览主控件中的元素并且第一次弹出ComplexChildElement时,在它被装饰时会出现短暂的、几乎不可见的闪烁——它是一堆用DevExpress装饰的组合框。此设置意味着当我滚动离开带有ComplexChildElemen

c# - WPF:为什么我应该使用现有的 MVVM 框架而不是编写自己的框架?

我想知道MVVM框架能给我带来什么好处(例如mvvmlight、prism等)。如果你能给我从最重要到最不重要的要点。我只是想了解我是应该使用MVVM框架还是自己编写代码。 最佳答案 您可以在没有框架的情况下开始使用MVVM,并且可以随着时间的推移构建自己的基础代码。它可能会帮助您更好地学习模式。一旦你理解了它,你就会更好地体会到像CaliburnMicro这样的框架的力量。给你。当然,这些框架将所有基本模板代码排除在外,但它们还可以添加高级绑定(bind)、操作和组合功能。我刚刚收听了对CaliburnMicro作者的播客采访。也

c# - 如何通过 DevExpress 以编程方式关闭所有 WPF 菜单、弹出窗口等以解决与 WindowsFormsHost 相关的问题?

我希望它的行为就像您在应用程序的某处单击一样。(折叠所有菜单、下拉菜单等)实际上,我正在尝试解决在使用WindowsFormsHost的WPF应用程序中托管Windows窗体控件时遇到的与互操作性相关的焦点问题:如果DevExpress的WPF菜单/弹出窗口打开并且您单击Windows窗体控件,菜单/弹出窗口不会自动关闭。现在我在WindowsFormsHost中有很多Windows窗体控件,在WPF区域中也有很多DevExpress控件。为了轻松解决这个问题,我添加了一个消息过滤器来Hook应用程序中的所有点击,然后我查看点击的控件是否是Windows窗体控件。然后我需要做一些事情来

c# - 枚举上的 DataTrigger 作为 WPF 样式上的触发器值

因此,简而言之,这就是我要尝试做的事情,我将从代码开始,它很可能是有意义的。枚举定义:namespaceSEL.MfgTestDev.ESS.ViewModel{publicenumUnitStatusModel{Indeterminate,Pass,Fail,Warning,}}我是不是缺少了一block来完成这项工作?我发现了一些关于依赖于对象数据源的枚举的WPF文章,但我不太喜欢这种解决方案,难道我不能在这里做一些更简单的事情吗? 最佳答案 我找到了解决方案,但它很愚蠢。样式被设计为控件的一种可视化模板,但它们被设计为可视化实

c# - 当弹出窗口中的数据网格捕获鼠标时,wpf 弹出窗口不会自动关闭

我有一个带有StaysOpen=False的弹出窗口,所以我想通过单击弹出窗口之外的任意位置来关闭它。在弹出窗口中,我有一个DataGrid。如果我打开弹出窗口然后单击其他地方,弹出窗口将关闭。但如果在弹出窗口外单击之前我将单击DataGrid中的列标题,则不会发生这种情况。测试XAML:Open我认为这是因为列标题在单击时捕获鼠标并且弹出窗口不再接收鼠标事件。我试图在LostMouseCapture事件上添加一个处理程序,以便通过弹出窗口捕获鼠标,但它似乎并不那么容易工作。有什么想法吗? 最佳答案 也许它会有所帮助。附加行为:pu

c# - WPF:验证与转换器

使用转换器,我可以区分至少4种关于源值更新的行为:转换为正确的值(->更新源)返回null(->表示错误)抛出异常并激活异常验证规则(->指示错误)返回Binding.DoNothing(->不更新源,但不指示错误eiter)用ValidationRule,我只能区分成功(->更新源)和失败(->不更新源),但我无法模拟与Binding.DoNothing关联的行为有没有办法使用ValidationRule以类似于Binding.DoNothing的方式转换器的行为? 最佳答案 Converters和ValidationRules的

c# - 如何在 WPF 中模拟悬挂电缆?

我有一个非常“基于连接”的应用程序,即多个输入/输出。“电缆”的UI概念正是我要让用户清楚地了解概念的东西。Propellerhead在其用于音频组件的Reason软件中采用了类似的方法,如thisYouTubevideo(fastforwardto2m:50s)中所示。.我可以通过绘制从A点到B点的样条曲线来使这个概念在GDI中起作用,为此必须有一种更优雅的方法来使用路径或WPF中的其他东西,但是你从哪里开始呢?有没有什么好的方法可以模拟绳索摇晃时的动画效果?如果已经为WPF发明了这个轮子,我也愿意控制库(商业或开源)。更新:感谢目前答案中的链接,我快完成了。我以编程方式创建了一个B

c# - 为什么 WPF 在 Windows 8 中不显示 Windows 8 样式按钮

这是一个Windows8风格的按钮:这是.NET4.5WPF应用程序中的一个按钮:知道为什么WPF不显示nativeWindows8样式按钮吗?有办法解决这个问题吗? 最佳答案 您可以使用HERE中的自定义WPF样式.下面是在多个状态下应用于同一WPF应用程序的样式的屏幕截图。顶部明显是Aero主题,底部是新应用的样式。这里是XAML的链接. 关于c#-为什么WPF在Windows8中不显示Windows8样式按钮,我们在StackOverflow上找到一个类似的问题: