问题标签 [wpf]

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 投票
4 回答
2971 浏览

c# - 为旧版 WinForms MDI 应用程序设计新 UI

我正在努力将使用 C# 和 WinForms 创建的客户端/服务器应用程序转移到 SOA/WPF/Silverlight 世界中。最大的障碍之一是 UI 的设计。我当前的 UI 是 MDI 驱动的,用户严重依赖子窗口,同时打开许多子窗口并在它们之间来回切换。

在无 MDI 环境中重新创建 UI 功能的最佳方式可能是什么?(我不想在 WPF 中自己创建 MDI 功能)。标签?切换不同控件的列表面板?

0 投票
3 回答
4683 浏览

.net - 字体大小独立的 UI:当我切换到 120 DPI 时一切都坏了?

所以我正在阅读另一个问题中有人链接到的那些 Windows Vista UI 指南,他们提到你应该能够在切换到 120 DPI 后幸存下来。好吧,我在安装了我的应用程序的情况下启动了我方便的虚拟机,我们得到了什么……啊啊!!!大规模用户界面失败!

一切都乱七八糟:有些容器不够大,无法容纳它们的文字;一些“彼此相邻”定位的控件现在都挤在一起/分开了;有些按钮不够高;我的ListView专栏不够宽... eeek。

这听起来像是一种完全不同的方法。我之前的一个基本上是使用 VS2008 Windows 窗体设计器来创建,我猜是基于像素的布局。我可以看到,如果我坚持使用 Windows 窗体,FlowLayoutPanels 会很有帮助,尽管我过去发现它们相当不灵活。它们也不能解决容器(例如表单本身)不够大的问题;大概有办法做到这一点?也许是那个AutoSize属性?

这也可能表明是时候跳槽到 WPF 了。我的印象是它是专门为这种事情设计的。

基本问题似乎归结为这些:

  • 如果我要坚持使用 Windows 窗体,那么实现与字体大小无关的布局的所有技巧是什么,这种布局可以在用户设置大字体或将显示设置为 120 DPI 时存活下来?
  • WPF 在这方面是否具有显着优势,如果是,您能否尝试说服我值得转换?
  • 在 .NET 堆栈中或一般情况下,是否存在与字体大小无关的布局的一般“最佳实践”?
0 投票
12 回答
2110 浏览

wpf - 设计师和开发人员一起工作

WPF 和 Silverlight 丰富的演示功能意味着像我这样的开发人员现在将更频繁地与图形设计师密切合作,就像我的下一个项目一样。

有没有人有任何提示和经验(从两个角度来看)让这件事变得更顺利?

例如,当我最近向设计师提到源代码控制时,我很快就被告知你不能对图形、图像等进行源代码控制,所以这是浪费时间。所以我回答:好的,但是 WPF/Silverlight 中的 XAML 文件呢?

Scott Hanselman 在播客中谈到了这个话题,但他更关注工具,而我对沟通问题/方面更感兴趣。

0 投票
1 回答
8096 浏览

wpf - 您可以将 DataTrigger 绑定到附加属性吗?

在 WPF 中,DataTrigger 是否可以绑定到附加属性?

我本质上想在附加属性上使用转换器来在特定验证规则被破坏时提供样式。我正在使用如下标记:

但是,当它运行时,我得到以下信息:

System.Windows.Data 错误:39:BindingExpression 路径错误:在“对象”“文本框”(名称=“”)上找不到“验证”属性。BindingExpression:Path=Validation.Errors; 数据项='文本框'(名称='');目标元素是'TextBox'(名称='');目标属性是“NoTarget”(类型“对象”)

如果我将 DataTrigger 绑定路径更改为“文本”,我不会收到数据绑定错误(但它当然不会提供我正在寻找的行为)。

0 投票
6 回答
10507 浏览

.net - WindowsFormsHost 是否适合目的(.net WPF 托管 WinForms)?

GUI 驱动的应用程序需要托管一些基于 WinForms 的预构建组件。这些组件使用 GDI+ 和 DirectX 的混合提供高性能交互式视图。视图处理控制输入并显示自定义图形渲染。这些组件由供应商在 WinForms 工具中进行测试。

商业应用程序是否可以将 WPF 用于其 GUI 并依赖WindowsFormsHost来托管 WinForms 组件,或者您是否遇到过技术故障,例如输入延迟、更新问题而让您谨慎?

0 投票
2 回答
3052 浏览

wpf - 使用 DataBinding 从 TreeView 添加项目到 ListBox WPF

我想使用(如果可以使用)将所选项目从 中添加TreeViewListBox控件中。DataBindingDataBinding

TreeView从页面后面的代码中填充一些虚拟数据。

0 投票
9 回答
101333 浏览

wpf - 在 WPF 应用程序中显示 PDF

任何想法如何在 WPF Windows 应用程序中显示 PDF 文件?


我正在使用以下代码运行浏览器,但该Browser.Navigate方法没有执行任何操作!

0 投票
9 回答
15825 浏览

wpf - 是否有良好的 WPF 枢轴控制?

有没有人有任何良好的 wpf 数据透视表控件的经验?

0 投票
3 回答
21985 浏览

wpf - TextBox.TextChanged & ICommandSource

我正在为我的 WPF UI 遵循MV-VM模式。我想将文本框的 TextChanged 事件的命令连接到我的 ViewModel 类中的命令。我能想到的完成此任务的唯一方法是从 TextBox 控件继承,并实现 ICommandSource。然后我可以指示从 TextChanged 事件中触发该命令。对于看起来如此简单的事情来说,这似乎是太多的工作。

有没有更简单的方法(比继承 TextBox 并实现 ICommandSource)将 TextChanged 事件连接到我的 ViewModel 类?

0 投票
12 回答
12218 浏览

wpf - 保存前的 WPF 数据绑定

在我的 WPF 应用程序中,我有许多数据绑定文本框。这些UpdateSourceTrigger绑定的LostFocus. 使用文件菜单保存对象。我遇到的问题是可以在 TextBox 中输入一个新值,从“文件”菜单中选择“保存”,并且永远不要保留新值(在 TextBox 中可见的那个),因为访问菜单不会从 TextBox 移除焦点. 我怎样才能解决这个问题?有没有办法强制页面中的所有控件进行数据绑定?

@palehorse:好点。不幸的是,我需要使用 LostFocus 作为我的 UpdateSourceTrigger 以支持我想要的验证类型。

@dmo:我已经想到了。然而,对于一个相对简单的问题,这似乎是一个非常不雅的解决方案。此外,它要求页面上有一些控件,该控件始终可见以接收焦点。但是,我的应用程序是选项卡式的,因此没有这样的控件很容易出现。

@Nidonocu:使用菜单并没有将焦点从 TextBox 移开这一事实也让我感到困惑。然而,这就是我所看到的行为。以下简单示例演示了我的问题: