问题标签 [xaml]

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 投票
14 回答
1325 浏览

wpf - 需要知道混合吗?

您希望您的 WPF 开发人员了解表达式混合吗?

有什么好的资源来了解更多关于 Blend 的信息吗?

[更新] 了解混合会让你更有效率吗?

0 投票
2 回答
581 浏览

wpf - 在使用 Expression Blend 和 Visual Studio 时,如何为设计人员存根数据?

我们正在一个新项目中试用 Visual Studio 2008 和 Expression Blend。目标是将开发人员和设计人员的角色明确定义为独立的,但从开发人员能够直接使用设计人员生成的 XAML 中获益。

在大多数情况下,这很有效,我真的很喜欢这些可能性。我们遇到的一个困难是针对 DataBindings 进行设计。在许多情况下,除非运行应用程序并进行数据库调用,否则 GUI 不会填充行或其他数据结构。因此,设计者无法访问 GUI 的可视化布局。

我想做的是以某种方式创建一些简单的存根或模拟数据,设计人员可以使用这些数据进行设计。最大的目标是让这些存根数据显示在 Expression Blend 中,然后在运行时应用于实际集合。

有没有人找到这样做的可靠方法?

0 投票
2 回答
635 浏览

wpf - Is it possible to reference control templates defined in microsoft's assemblies?

i have scenario where i have to provide my own control template for a few WPF controls - i.e. GridViewHeader. when you take a look at control template for GridViewHEader in blend, it is agregated from several other controls, which in some cases are styled for that control only - i.e. this splitter between columns. those templates, obviously are resources hidden somewhere in system...dll (or somewhwere in themes dll's). so, my question is - is there a way to reference those predefined templates? so far, i've ended up having my own copies of them in my resources, but i don't like that approach.

here is sample scenario: i have a GridViewColumnHeader:

so far - nothing interesting, but say, i want to add some extra functionality straight in the template - i'd leave cotnent presenter as is, add my controls next to it and i'd like to leave Thumb with defaults from framework. i've found themes provided by microsoft here:

the theme for Thumb looks like that:

so far - i have to copy & paste that style, while i'd prefer to get reference to it from resources.

0 投票
2 回答
3084 浏览

wpf - WPF:组织结构图 TreeView 条件格式

该公司具有传统的复杂组织结构,使用字母“n”而不是实际数字来定义级别的数量。我将尝试用等距字体表达我想要实现的结构:

如您所见,它不是对称的,因为 Jack、Kim 和 Lucy 向 Alice 报告,但没有他们自己的报告。

使用包含 a和TreeView的a很容易,但是一旦有些人有 20 个其他人向他们报告,这可能会导致非常大!您也可以使用来查看 a 是否有子级 ,但这与前面提到的上下文不同。例如:我可以说 Fred 有报告,但不知道他们是否有自己的报告。ItemsPanelStackPanelOrientation="Horizontal"TreeView TriggersTreeViewItemProperty="TreeViewItem.HasItems"ItemsPanel

TreeViewItems那么,如果他们没有自己的孩子,你可以有条件地格式化为 Vertical 吗?

0 投票
4 回答
17736 浏览

vb.net - Silverlight- DataGrid 控件 - 选择更改事件干扰排序

我目前正在使用 Silverlight(Beta 2) Datagrid 控件。在我连接 SelectionChanged 事件之前,通过单击标题,网格将完美排序。现在,当单击网格时,当我单击标题进行排序时,它将触发 SelectionChanged 事件。有没有办法解决?

在一个半相关的主题中,我希望在单击已选择的项目时触发 SelectionChanged 事件(这样我可以弹出一个窗口以允许用户编辑选定的值)。现在,您必须单击一个不同的值,然后返回到您想要的值才能弹出它。还有其他方法吗?

包括我的代码。

这页纸:

以及更改网格选择时发生的调用:

对不起,如果我的代码很糟糕,我还在学习 Silverlight。

0 投票
1 回答
595 浏览

c# - 如何在 WPF 中创建可扩展的 Moebius-strip?

莫比乌斯带是具有一侧的表面。

如何在 XAML/WPF 中定义这样一个对象?
如何使用 C# 在 3D 中操作、放大和缩小和旋转这样的对象?

0 投票
1 回答
2937 浏览

wpf - 如何将 XAML/WPF 文件转换为视频(AVI、WMV 等)

我有一个简单的 WPF (XAML) 文件,其中包含一些动画形状和文本。动画没有交互行为。我想将此动画录制为视频文件,稍后我打算将其用作截屏视频的“介绍”屏幕。

我认为我需要的是:接受输入 XAML 文件并以(例如 24fps)输出高质量 WMV 的 C# 代码。

我已经调查过的可能替代方案

  1. 使用 Camtasia Studio 等屏幕录制软件进行录制。这可行,但动画不那么流畅,尤其是当动画有很多过渡或移动时

  2. 使用 Epiphan Systems 的 DVI2USB 等硬件。成本太高;没试过。

  3. 使用 DVR 卡录制电视输出(S-Video 等) - 低质量和低分辨率。

2008 年 10 月 28 日更新 - 工作源代码

这篇博文有一个完整的工作源代码示例,将 WPF/XAML 导出为 AVI。它没有我想要的那么快,但它可以满足我的需求:

链接到 MSDN 博客博文

0 投票
2 回答
30321 浏览

wpf - 如何在 XAML 中根据窗口或屏幕大小设置网格列 MaxWidth

我在一个窗口中有一个 3 列网格,第一列上有一个 GridSplitter。我想将第一列的 MaxWidth 设置为父窗口或页面Width(或ActualWidth)的三分之一,如果可能的话,我更愿意在 XAML 中执行此操作。

这是在 XamlPad(或类似)中使用的一些示例 XAML,它显示了我在做什么。

如您所见,右列的宽度与第一列的宽度绑定,因此当您使用拆分器滑动左列时,右列也会这样做:) 如果您将左列向右滑动,最终它将滑过页面/窗口的一半并滑到窗口的右侧,推开第 2 列和第 3 列。

我想通过将第 1 列的 MaxWidth 设置为窗口宽度的三分之一(或类似的东西)来防止这种情况。我可以很容易地在后面的代码中做到这一点,但是如何在“仅 XAML”中做到这一点?

编辑:大卫施密特建议使用 SharedSizeGroup 而不是绑定,这是一个很好的建议。我的示例代码将如下所示:

0 投票
14 回答
477688 浏览

.net - 如何将 WPF 绑定与 RelativeSource 结合使用?

如何使用RelativeSourceWPF 绑定以及有哪些不同的用例?

0 投票
4 回答
9134 浏览

wpf - 本地化 WPF 应用程序的最佳方法是什么,没有 LocBAML?

似乎没有本地化 WPF 应用程序的好方法。MSDN 似乎认为用x:Uid's 乱扔我的 XAML,生成 CSV 文件,然后生成新的程序集(使用他们的示例代码!)就是答案。更糟糕的是,此过程没有解决如何本地化图像、二进制 blob(例如 PDF 文件)或嵌入代码中的字符串。

那么,您如何本地化一个应用程序:

  1. 包含几个程序集
  2. 包含需要本地化的图像和其他二进制 blob(例如:PDF 文档)
  3. 具有不在 XAML 中的字符串数据(例如MessageBox.Show("Hello World");:)