问题标签 [wpftoolkit]

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 投票
1 回答
2580 浏览

wpf - 绑定到 UserControl 的 DependencyProperty

我正在尝试从http://msdn.microsoft.com/en-us/magazine/dd882520.aspx为 WPF 工具包的日历调整一个解决方案,但我在让用户控件上的绑定工作时遇到问题。我试过使用 FindAncestor 和 ElementName,但我只是得到一个绑定错误。

我认为它可能与工具提示有关,它是日历中的 DataContext。有没有其他人有这个问题?

错误是:

以及 DependencyProperty 的声明:

我有另一个控件发生同样的事情,所以我想我可能会遗漏一些东西。

0 投票
2 回答
1254 浏览

wpf - 当 DataGrid 失焦时,如何使选定的行去饱和?

UI 控件的常规约定是,当父控件处于焦点时,选定的文本、项目或行颜色鲜艳(例如,亮蓝色),而当控件失焦时,将其不饱和/暗淡(例如,淡蓝色)。

与 相比ListView/GridView,WPFDataGrid控件默认不遵循此约定。即使同一窗口中的另一个控件清晰地聚焦,选定的行也会显得明亮。

我认为这应该只是添加一个触发器来DataGridCell设置背景{DynamicResource {x:Static SystemColors.ControlBrushKey}}是否DataGrid失焦,但我不知道要检查哪个属性。IsFocused听起来像我想要的,但这不起作用。IsMouseCaptured似乎也不起作用。

这是我尝试的最新触发器:

当单元格被选中并且父控件不在焦点上时,我该怎么做才能使此触发器使单元格变暗?

0 投票
4 回答
12808 浏览

wpf - 需要 WPF Toolkit 控件的主题(尤其是 DataGrid)

我刚刚从Codeplex WPF 主题站点下载了不错的主题集合。我非常喜欢 WhisterBlue 和 BureauBlue 主题,但它们都不包含WPF 工具包DataGrid、、DatePickerCalendar)中包含的新控件的任何样式。

似乎有人在那里必须扩展主题以涵盖这些控件,但我没有运气找到它们。所以,如果你有任何线索,我很想听听他们的意见。

我还应该提到,我一直在尝试将 BureauBlueDataGrid主题的 Silverlight 版本移植到 WPF(请参阅:如何将主题从 Silverlight 移植到 WPF?),但到目前为止还很不成功。

0 投票
1 回答
1348 浏览

wpf - WPFToolkit DataGridTemplateColumn 中的命令不起作用

我正在使用 WPFToolkit 的 DataGrid 并试图让编辑按钮工作,这里是专栏:

我收到以下错误:

BindingExpression 路径错误:在“对象”“地点”(HashCode=18626439)上找不到“EditVenueCommand”属性。BindingExpression:Path=EditVenueCommand; DataItem='地点' (HashCode=18626439); 目标元素是“超链接”(HashCode=32883419);目标属性是“命令”(类型“ICommand”)

当 EditVenueCommand 在网格之外时,它会完美触发。

另外,我使用 DataGridTemplateColumn 而不是 DataGridHyperlinkColumn 的原因是因为我也无法让它工作:(

0 投票
2 回答
1146 浏览

c# - 如何将嵌套视图模型绑定到控件的属性

我使用 Microsoft 的 WPF 工具包的图表控件来编写自己的图表控件。我在这里写了博客。我的图表控件将图表中的 yaxes 堆叠在一起。正如您在文章中所读到的,这一切都很好。现在我想创建一个视图模型来控制图表中的数据和轴。到目前为止,我能够将轴添加到图表中并在图表中显示它们。但是当我尝试添加lineseries 时遇到问题,因为它有一个DependentAxis 和一个InDependentAxis 属性。我不知道如何为其分配正确的 xAxis 和 yAxis 控件。
下面你会看到 LineSeriesViewModel 的一部分。它有一个嵌套的 XAxisViewModel 和 YAxisViewModel 属性。

视图模型都有自己的数据模板。xaml 代码如下所示:

这段代码工作得很好。当我添加轴时,它们会被绘制。但是lineseries 控件的DependentAxis 和InDependentAxis 保持为空,因此不会绘制系列。如何将嵌套视图模型绑定到控件的属性?

0 投票
2 回答
8204 浏览

wpf - 如何将主题从 Silverlight 移植到 WPF?

这简单”!

我刚刚看到Rudi Grobler 的这篇博客文章,它说将主题从 Silverlight 移植到 WPF 很“容易”。不幸的是,他没有说怎么做。


下载并安装

我已经从 Codeplex安装了WPF 工具包Silverlight 工具包。

我还去挖掘了我感兴趣的主题(BureauBlue)的源代码(警告,这需要一点时间来加载),并将其粘贴到我的测试项目中的一个新的资源字典文件中。


哦,损坏的参考资料

很多蓝色波浪线。

替代文字 http://img32.imageshack.us/img32/6032/brokenreferences.jpg


这里没有参考

所以,我去添加参考文献并发现......它们没有列出。

替代文字 http://img35.imageshack.us/img35/7466/addreferencedialog.jpg


啊,他们来了

幸运的是,经过一番广泛的浏览,我能够找到它们。

替代文字 http://img269.imageshack.us/img269/3830/addreferencedialogbrows.jpg


所以我添加了它们

找到缺少的参考资料后,我尝试添加它们。这实际上似乎解决了断开的xmlns链接(至少蓝色波浪线消失了),但是当我构建我的项目时出现错误:

错误 1 ​​未知构建错误,“无法解析对程序集 'System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e”的依赖,因为它尚未预加载。使用 ReflectionOnly API 时,必须通过 ReflectionOnlyAssemblyResolve 事件预加载或按需加载依赖程序集。Nmt概念


而且,所以我问...

如何使 Silverlight 主题在 WPF 中工作?


更新!

好吧,我以为我想通了。我决定从DataGrid. 我弄清楚了 Silverlight 程序集的所有 WPF 等效项是什么,我实际上让我的项目能够编译和运行。然后我看到了结果...

替代文字 http://img44.imageshack.us/img44/2418/porteddatagrid.jpg

标题有些正确(除了缺少的排序箭头),但其余部分看起来像是发生了某种涉及棕褐色砖块的可怕事故。

这是Silverlight Toolkit 网页上的示例。

替代文字 http://img196.imageshack.us/img196/997/silverlightdatagrid.jpg

所以,我什至没有靠近。


我做了什么

请允许我解释一下我做了什么导致这个烂摊子。


数据网格冻结网格

首先,我不得不DataGridFrozenGrid这个 Silverlight Toolkit 源代码页中获取,因为 WPF 从未听说过这样的类。


蓝局

然后我粘贴了BureauBlue 源代码中的关键部分(再次警告:这个宝贝加载速度很慢)。

通过关键部分,我的意思是:

  1. 文件开头的所有画笔资源加
  2. 对于Style这些控件中的每一个:

    • 数据网格列标题
    • 数据网格单元
    • DataGridRowHeader
    • 数据网格行

奇怪的是,原始文件DataGrid本身不包含任何样式(如果我错了,请纠正我,但我使用了 Find 和一切)。


Silverlight --> WPF

接下来,我将xmlns引用转换为 WPF 等效项。这是我的ResourceDictionary元素的结果:

我当然编辑了命名空间标签以匹配。


编辑直到它工作

一旦我完成了所有这些工作,我仍然遇到了一些小问题。一些x:Name元素中有空格。编译器不允许这样做,所以我不得不用下划线替换空格。

以下是相关的片段:

更改这些名称似乎是一个非常糟糕的主意 - 并且可能是我所有问题的原因 - 但我不知道还要做什么才能编译。

我必须做的另一个改变是:一开始的一些SolidColorBrushandLinearGradientBrush项目使用了x:Name而不是x:Key. 我将它们全部更改为x:Key. 也许这也是一个坏主意,但是编译器又让我做了。


这对你有帮助吗?

如果你仍然和我在一起,有什么建议吗?

0 投票
5 回答
35267 浏览

wpf - 在 WPF 中对 DataGrid 进行预排序

我有一个DataGrid包含多个列的 WPF 应用程序,包括一个名称列。如果用户切换到特定视图,我希望数据按名称预先排序(并且我希望排序箭头出现在名称标题中,就像用户单击该标题一样)。但是,我找不到实现这一点的预期属性。我正在寻找类似SortColumn, SortColumnIndex,SortDirection等的东西。

是否可以在标记 (XAML) 中指定默认的排序列和方向,或者 WPF 工具包不支持DataGrid

0 投票
1 回答
755 浏览

wpf - 编辑 WPF 工具包以仅获取 DatePicker

我正在做一个小型应用程序,我需要一个 DatePicker 控件,所以我使用 WPF 工具包 datepicker。完成我的应用程序后,我注意到我的应用程序 exe 的大小为 250k,而 WPFToolkit dll 的大小为 442k。因此,我通过从中删除其他控件来从工具包中提取 datepicker 控件。但这对我不起作用。应用程序在运行时失败。如何仅从工具包中提取日期选择器控件?

0 投票
1 回答
389 浏览

wpf - 停止导航到验证错误的当前控件。如何?

我的 WPF 应用程序有问题。

我有一个数据网格(Wpf Toolkit),我必须管理一个行验证......如果验证结果为假,我会认为另一行是不可选择的。

因此,我必须阻止对我编辑的当前行的选择。

我能怎么做?有任何想法吗?

0 投票
2 回答
1972 浏览

wpf - 在运行时访问WPF Toolkit DataGridCell的DataTemplate控件,如何?

我有一个用 WPF Toolkit 定义的 DataGrid。此 DataGrid 的 CellEditingTemplate 在运行时与构建 FrameworkElementFactory 元素的自定义函数相关联。

现在我必须访问插入到 CellEditingTempleta 的 DataTemplate 中的控件,但我不知道该怎么做。

在网上我发现了一个有用的 ListView Helper...

此代码适用于 ListView 对象,但不适用于 DataGrid 对象。

如何在 DataGrid 中使用这样的东西?