问题标签 [contentcontrol]

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 回答
104 浏览

wpf - 模板中的触发器导致错误渲染

我正在实现我自己的假TabControl以看起来像 IE8-tabs(我知道 tabcontrol 的其他实现)。

MyTabControl派生自Selector,而 my TabItems 派生自ContentControl。选择选项卡时,我将IsSelected(依赖属性)设置为 true。我的Trigger样子是这样的:

我的默认边距TabItem是 0,2,0,0。换句话说,未选中TabItem的 s 应该与选中的有轻微的偏移。我已经尝试反向执行此操作,并改用高度。结果是TabItem被选中的 s 似乎被剪裁而不是改变边距。当直接在标签上设置属性时,我得到正确的视觉效果,即:

我试过在我的依赖属性中使 , 无效,但没有太大成功ArrangeVisualMeasureIsSelected

我在这里想念什么?

编辑:

这是完整TabItem的样式(样式部分基于此项目: http: //www.codeproject.com/KB/WPF/WpfTabControl.aspx):

0 投票
2 回答
698 浏览

wpf - Content vs.

Given the following two options:

vs.

  1. Any performance differences?
  2. What would you say is more readable?
  3. Conclusion?

I'm affraid this question might sound somehow babyish, but how will I know if I won't ask, so I decided to shoot it.
Comment me if I chose the wrong decision ;)

0 投票
2 回答
2945 浏览

c# - 在 TabControl 的另一个选项卡中呈现内容控件

我有一个程序,其中有多个选项卡以TabControl编程方式动态添加到对象中。我想要做的是将每个选项卡的 Content 值呈现为 PNG。我正在使用我在 StackOverflow 或谷歌的其他地方找到的脚本(丢失了源代码)。我的代码如下所示:

如果我在调用此代码之前浏览并查看了所有必须呈现的选项卡,则此代码可以正常工作。它继续并使用从 TabContentControl 呈现的正确内容创建 filePrefix_1.png、filePrefix_2.png 等。new RenderTargetBitmap(...)但是,如果我在查看所有选项卡之前调用使用此代码的处理程序,我的代码会在因为content.RenderSizeis引发异常{0.0, 0.0}。当我尝试将未查看选项卡的渲染大小强制为查看过的选项卡之一时,我输出的 PNG 尺寸正确,但完全为空。

所以我想我需要一些方法来强制呈现 TabContentControl。似乎只有在需要渲染 UIElement 时才运行 Render 事件。他们有什么诡计可以让我解决这个问题吗?

我还尝试通过在创建选项卡时在 Page_Loaded 事件处理程序中添加以下代码来“欺骗”WPF 来绘制选项卡内容:

Page_Loaded处理程序中的最后一行被注释掉时,最后一个选项卡成为焦点并RenderSize为其内容定义了属性。当最后一行没有被注释掉时,第一个标签是焦点,具有相同的行为。其他选项卡没有任何渲染信息。

0 投票
0 回答
193 浏览

wpf - 使用自定义初始屏幕时 ContentControl 呈现错误 .Close() - 发生了什么?

我在不同类型的内容之间使用了一个非常基本的ContentControl切换:

随机(如所有运行的 20%),当显示视图时,它显示为完全透明,但不允许其后面的控件接收输入。

如果我尝试在窗口上使用 Snoop,视图会立即呈现。当我将鼠标悬停在预期的文本框上时,视图甚至会接受输入并更改鼠标光标。如果我按下“不可见”视图上的任何按钮,它会立即弹出。

从 切换ContentControlContentPresenter并没有改变上述行为。

有没有人知道发生了什么以及如何解决它?

编辑:它看起来像 WPF 中的一个错误,所以我最大的希望是遇到过这个问题的人。

编辑:我将它追踪到自定义启动屏幕窗口,准确地说 - 用于.Close()摆脱窗口。如果我.Hide()改用,则不会发生故障。还是不明白为什么。

0 投票
4 回答
13183 浏览

wpf - 从 DataTemplateSelector 显式刷新 DataTemplate?

我将 ContentControl.DataTemplateSelector 设置为我想要的。
我希望根据命令或其他方式调用 ContentControl 以通过 xaml 或代码从选择器中重新选择模板。

谢谢

0 投票
2 回答
9259 浏览

wpf - 无法通过 DataTrigger 设置 ContentTemplate

我希望ContentTemplate根据DataTrigger.
是的,我考虑过使用 a DataTemplateSelector,但现在我需要 aDataTrigger或更好地说 a MultiDataTrigger

请看下面的示例应用程序,DataTemplate不会改变:


0 投票
3 回答
5457 浏览

wpf - ContentControl + RenderTargetBitmap + 空图像

我试图创建一些图表图像,但从未在屏幕上显示这些图表。我已经做了很长一段时间了,尝试了很多不同的东西,但似乎没有任何效果。如果我首先在窗口中显示图表,则代码可以完美运行,但是如果我不在窗口中显示它,则位图只是带有黑色边框的白色(不知道为什么)。

我尝试在渲染之前将图表添加到边框并为边框提供绿色边框。在位图中,我看到绿色的borderBrush,然后是黑色边框和白色背景,但没有图表。该图表不包含在黑色边框中,所以我不知道它来自哪里。

我尝试在不调用 window.Show() 的情况下将图表添加到窗口,但我再次得到黑色边框和白色背景。但是,如果我调用 window.Show() 位图包含图表。

我尝试过使用这里所解释的绘图视觉,结果相同。

这是代码(不包括将元素添加到边框或窗口):

注意:图表是一个 ContentControl。

无论如何我可以在不先在窗口中显示图表的情况下渲染图表吗?

0 投票
2 回答
602 浏览

mvvm - ContentControls 的 DataTemplate 默认可见性

在我基于 MVVM 的 WPF 应用程序中,我有许多不同的 ViewModel 类型,它们动态加载到 ContentControls 或 ContentPresenters 中。因此,我需要明确设置要在 XAML 中使用的 DataTemplate:

<ContentControl Content={Binding SomePropertyOfTypeViewModel} ContentTemplate={StaticResource someTemplate} />

现在我的问题是,someTemplate即使 ContentControl 未绑定任何内容(即 ViewModel.SomePropertyOfTypeViewModel 为空) ,内容控件仍在显示 UI 当我使用隐式 DataTemplates 时,一切都按预期工作。不幸的是,我不能在这里使用这种机制。

更新:

我当前的解决方案是bool Visible为每个 ViewModel 提供一个额外的属性,该属性在父 ViewModel 中作为属性公开。true仅当属性不为空时才返回。ContentControl 的 Visiblibilty 绑定到此属性。 ParentViewModel.SomePropertyOfTypeViewModelVisible, ParentViewModel.SomeOtherPropertyOfTypeViewModelVisible ...

这不是很令人满意,因为我必须维护很多额外的属性。

0 投票
1 回答
831 浏览

wpf - 带有 ContentControls 的自动行定义网格

我有一个页面,其中包含由 RegionManager 加载的两个 ContentControl。项目列表和这些项目的 DetailView。问题是网格没有应用我喜欢的自动高度。所以我想将所有可用的屏幕尺寸设为grid.row=0。我在下面添加了我的代码:

0 投票
1 回答
1634 浏览

c# - ContentControl 上的双向绑定

我正在创建一个键/值对编辑器,并希望该值具有基于数据类型的自定义模板。

主机类的代码隐藏如下所示:

DataTemplates 是通过资源类选择的:

为字符串显示的 DataTemplate 是:

数据将 OK 绑定到键 TextBox (txtKey) 和 DataTemplate TextBox (txtTextIET1),但更改 txtTextIET1 上的值不会触发 KeyValuePair 属性上的设置器。我无法找到这种情况的任何示例,因此将不胜感激。