问题标签 [wpf-4.5]
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.
wpf - 带有 Microsoft 的 WPF 功能区的窗口样式与 Windows 8 样式不匹配
我正在使用 Windows 8 和 Visual Studio 2012 的发布版本来创建带有功能区控件的 WPF 应用程序。我选择 .Net Framework 4.5 中 WPF 自带的功能区控件。
我创建功能区的代码:
但问题是它会生成一个与 windows 8 样式不匹配的丑陋样式的窗口:
将其与资源管理器功能区进行比较。窗口标题居中(并具有不同的颜色),窗口的边框大小不同。功能区的样式不一样,但如果我有与 MS Word 相同的功能区样式(在 Windows 8 中正确显示),我会很满意。
WPF 的功能区控件是否不支持新的 Windows 8 样式?还是我错过了任何设置?
编辑:
我开始在 Blend 中编辑模板(4.0,我无权访问 5.0)。在修复了一些编译错误(似乎是 blend 中的错误)之后,我可以运行应用程序,但它看起来像这样:
但这不是我改变的一个好的起点......
c# - 更改 .NET 4.5 WPF 功能区的主题
我正在尝试从 .NET Framework 4.5 更改新WPF 功能区控件的主题,但我被卡住了。
我只设法更改了一些画笔(背景、前景、边框......),但我似乎无法更改明亮的叠加层和阴影。
我很高兴使用资源字典,但我不知道需要设置哪些属性。
我希望你能指出我正确的方向,非常感谢你的帮助!
c# - 滚动列表框时防止选择
我有一个将鼠标事件转换为触摸事件的应用程序,因此我可以使用惯性滚动和其他触摸功能。该代码在此处的选定答案中:
WPF:是否有可能将普通鼠标事件“路由”到 Windows 7 中的触摸事件
我遇到的问题ListBox
是当我轻弹滚动时,它会选择项目。ListBox
通常,触摸设备在滚动时不会选择项目。我在这里想念什么?
这是我正在使用的 xaml:
后面的代码:
wpf - 列表框减速
在 WPF 4.0 中,我在 ScrollViewer 上使用了一个属性来更改减速,如下所示:
似乎在 WPF 4.5 中,我不再有权访问 ScrollViewer。如何更改 WPF 4.5 中的平移减速度?
c# - 如何绑定到静态 BitmapSource?
我想用标准的 Windows“错误图标”创建我的自定义错误/异常对话框。
我遵循了这个问题的建议并且它有效。
但是,我目前正在创建一个绑定到的实例属性,就像绑定到任何属性一样:
我想做的是在我的 ErrorWindow 类中定义一个静态字段:
我不能强制我的 XAML 引用该字段。
我正在使用 WPF 4.5。
c# - 基于 ViewModel 属性实时设置树视图项目文本颜色
在我的 WPF 应用程序中,我使用的是 MVVM 模式。我的视图有一个树视图,我绑定了一个 observableCollection 对象,如下定义。我想要做的是在绑定对象将其脏属性设置为 true 时更改树项名称的颜色。当我第一次填充树时,我可以让它设置颜色,但是当属性在 false 和 true 之间变化时,它不会反映变化。
这是树视图 xaml:
这是绑定到树的集合:
在 HierarchicalItem 集合中引用的 ViewModel 都派生自公开“IsDirty”属性的基类。这肯定会改变状态,所以我不确定我是否犯了编码错误,或者我想要实现的目标是否无法以这种方式完成。这些类都使用“INotifyPropertyChanged”接口。这是 ViewModel 基类中的“IsDirty”属性:
wpf - 选择禁用的 ListBox 项时显示禁用的原因
我有一个ListBox
不应选择的项目,因为它们已被禁用。我通过绑定IsEnabled
禁用该项目的属性来实现这一点。但是,我需要能够显示一个弹出窗口,显示当用户单击禁用项目时它被禁用的原因。完成这样的事情的最佳实践是什么?
wpf - WPF 4.5 Microsoft 的 Ribbon:RibbonApplicationMenu 的哪些控件
我正在使用 Microsoft 的Ribbon
WPF 4.5 并在 Win 8 机器上使用 VS2012 (C#) 开发应用程序。我想让我的应用程序RibbonApplicationMenu
像 Office Word 2010 的“文件”菜单一样显示,但我找不到它使用了哪个控件(参见随附的屏幕截图,红色标记的控件编号 1 和 2)。我也尝试过RibbonApplicationSplitMenuItem
,但它更像是 Office 旧式。也许任何人都可以告诉我。先感谢您。
wpf - 如何提高 WPF Grid 控件(.NET 4.0/4.5)的性能?
定义:将二维字符串数组(大约 10 列,1,600 行,固定长度的 7 个字符)用作 WPF .NET 4.0 Grid 控件的数据源,使用以下代码片段来填充 Grid标签显示数组中的值。注意:Grid 已添加到 XAML 并传递给函数 PopulateGrid(参见清单 1)。视觉输出本质上是只读模式下的表格数据表示(不需要双向绑定)。
问题:性能是一个关键问题。在功能强大的 Intel-i3/8GB-DDR3 PC 上运行此操作需要令人难以置信的 3...5 秒;因此,恕我直言,此 WPF Grid 性能至少比预期慢一个数量级,基于与类似控件/任务的比较,例如常规 WinForm 数据感知控件,甚至 Excel 工作表。
问题1:是否有办法在上述场景中提高WPF Grid的性能?请将您的答案/可能的改进指向下面清单 1 和清单 2 中提供的代码片段。
问题 1aDataGrid
:建议的解决方案可以将数据绑定到额外的数据感知控件,例如DataTable
. 我在清单 2 中添加string[,]
了DataTable dt
转换器,以便可以将附加控件的DataContext
(或ItemsSource
其他)属性绑定到dt.DefaultView
. 那么,以最简单的形式,您能否提供一个紧凑的(最好是几行代码,因为它是在旧式数据感知控件中完成的)和高效(性能方面)的 WPF 数据绑定DataGrid
到DataTable
object的解决方案?
非常感谢。
清单 1。Grid GridOut
从 2D填充 WPF 的过程string[,] Values
清单 2。转换string[,]
_DataTable
注 2。建议使用其 Text 属性而不是 Content替换Label
控件,例如. 它将稍微加快执行速度,而且代码片段将与 VS 2012 for Win 8 向前兼容,其中不包含.TextBlock
Label
Label
注意 3:到目前为止,我已经尝试绑定DataGrid
到DataTable
(参见清单 3 中的 XAML),但性能很差(grdOut
是一个嵌套Grid
的,用作表格数据的容器;_dataGrid
是一种数据感知对象类型DataGrid
)。
清单 3。DataGrid
绑定到DataTable
:性能很差,所以我删除了它ScrollViewer
,但它运行不正常。
c# - WPF DataGrid 和 ITypedList
我试图ITypedList
在我的中实现,ItemsSource
但从PropertyDescriptor.GetValue/SetValue
未被调用。它有什么问题?
XAML 看起来像这样:
RowCollection 定义为:
其中 RowDescriptor 是:
行是: