问题标签 [generic.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 投票
0 回答
655 浏览

silverlight - 在 generic.xaml 中使用 Style Setter 来设置 Control 类型的属性会导致 VS 崩溃

在 generic.xaml 中的主控件样式中,我试图设置我的主控件的属性的默认值(并且此属性的类型为 Control),但这会导致 VS 2010 在设计视图中使用 MyMainControl 时崩溃. 使用下面的代码可以看到该问题。我正在使用 Silverlight 4。我还尝试将 MyControl 指定为资源(如下面代码中注释掉的所示),这也导致 VS 2010 在使用 MyMainControl 时崩溃。

我发现如果我在 MyControl 构造函数中删除“DefaultStyleKey = typeof(MyControl)”,那么问题就不会发生(但是 MyControl 的样式没有应用于它并且控件看起来不正确)。

这里的主要目标是我需要允许 MyMainControl 类有选择地创建 MyControl 类的实例,以便在 MyMainControl 类的实例化期间将 MyControl 属性设置为。默认情况下,我希望将 MyControl 属性设置为 MyControl 的实例,但我希望用户能够在其 XAML 中为 MyControl 属性指定 null(或指定具有不同设置的 MyControl 实例),并且如果他们这样做,我希望不发生 MyControl 的默认内部实例化(以提高 MyMainControl 的效率)。

我最初在 MyMainControl 的构造函数中创建了 MyControl 实例,但如果用户在其 MyMainControl XAML 中将 MyControl 属性设置为 null,则 MyControl 的实例仍然在内部不必要地创建(然后用 null 覆盖),这会导致性能更差(不仅仅是使用 null 而不是在内部创建 MyControl )。

在 WPF 中,我可以将 MyControl 指定为资源,然后在 MyMainControl 的 generic.xaml 样式中,我可以将 MyControl 属性设置为 MyControl 类的实例,如果用户将 MyControl 设置为 null。但我无法在 Silverlight 中获得同样的效果。

总之,主要思想是,如果我可以使用 MyMainControl 样式为 MyControl 属性指定默认值,那么用户将能够指定他们自己的 MyMainControl 样式,他们可以在其中为 MyControl 属性指定 null 值或具有不同设置的 MyControl 实例 - 由于它们的 MyMainControl 样式将替换我的样式,因此我在 MyMainControl 样式中指定的 MyControl 的默认实例化将不会发生。

我非常感谢任何人都可以提供有关如何在 Silverlight 中完成此操作的任何帮助!

MyControl 是一个非常简单的类,它派生自 Control:

MyMainControl MyControl DependencyProperty 的代码是:

0 投票
0 回答
2505 浏览

wpf - 使用 Generic.xaml 设计自定义 DataGrid

很抱歉这个冗长的问题。我希望它不像写它那么复杂:)

我正在尝试DataGrid通过 Generic.xaml 设置自定义样式,并且发现了一些有趣的行为。这是我所拥有的:

我创建了一个包含 2 个项目的解决方案:一个控件项目(类库)和一个名为 UI 的 WPF 应用程序项目。在控件项目中,有一个 Generic.xaml 文件(稍后将介绍)和以下内容DataGrid

在 UI 项目中,我创建了 2 个网格,如下所示:

请注意,最后一个网格包含本地样式。

现在控件项目中的 generic.xaml 就是这样(对不起它的长度..)

现在,有趣的是:结果如下所示:

http://i.stack.imgur.com/4eTmO.jpg

您可以看到两个网格都有粉红色背景(意思是 generic.xaml 被击中),但左边的网格没有像我预期的那样得到红色和黄色的交替颜色。真正有趣的是,Snoop 告诉我这些值设置正确:

http://i.stack.imgur.com/z9wcU.jpg

为什么不设置这些值?

预先感谢,
菲利克斯。

0 投票
1 回答
14161 浏览

wpf - 在资源字典中设置按钮的前景 [文本] 颜色

我在 Buttons.xaml 文件中定义按钮样式。你能告诉我如何设置按钮的前景属性吗?我需要使用渐变作为前景属性。代码如下。现在我正在按钮标签内设置渐变。


0 投票
2 回答
271 浏览

wpf - 将自定义控件标记为内部引发异常

有一个名为 TestCustomControl 的自定义控件,它继承自 Control,并且它有一个在 generic.xaml 中定义的控件模板。

这是主页的内容。

如果我将其标记为公开,则一切正常。但是,如果我将其标记为内部,则会引发异常:Invalid attribute value local:TestCustomControl for property TargetType。[行:74 位置:12]。

而且这只发生在 Windows Phone 开发环境中,我在 WPF 中尝试了类似的事情并且它有效。

如何将自定义控件标记为内部控件并在 WP7 的主页中使用它?

谢谢

注意:当我在 xaml 中使用它时,它会引发异常。然后我通过在代码隐藏中创建控件来对其进行测试,然后将其添加到逻辑树中,它也会引发异常。

0 投票
1 回答
1911 浏览

wpf - 边框画笔属性中的自定义控件不一致?

我在 WPF 中创建了自己的控件。最初我将它创建为用户控件,但发现这样做的首选方法是创建一个从控件继承的类,然后将我各自的 xaml 放在里面的控件模板中Generic.xaml

当它在我的 exe 中时效果很好,但是当我将它移动到 dll 时,边框从我的控件中消失了。我的控件基于文本框,几乎是文本框控件模板的复制和粘贴,并添加了一个用户可以单击的按钮。

我已经确定了控制模板的相关部分不起作用,即BorderBrush="{TemplateBinding Border.BorderBrush}"下面的位以及下一行。

我了解模板绑定,但我不明白我们为什么要绑定到Border.BorderBrush. border我们绑定的那个在哪里?可视化树没有显示属于我的控件的边框。如果我用硬编码值替换这两行,那么我会得到一个边框。我怀疑dll中可能缺少exe具有的某些内容,例如样式或适用于Border的内容?

提前感谢您的任何回复以及任何花时间阅读的人。干杯,迈克尔

0 投票
1 回答
356 浏览

silverlight - 如何拥有 Silverlight 3 和 Silverlight 4 的 generic.xaml?

generic.xaml 的主要问题是 Viewbox 已移动程序集。

我如何拥有一个 generic.xaml 文件,其中包含将在 SL3 和 SL4 中编译的 Viewbox 位置的命名空间?

我查看了http://www.removingalldoubt.com/PermaLink.aspx/defa2a7d-b1e9-49eb-b8c8-438348be8d18但无济于事......

注意:您可以在 Assembly.cs 中放置两个属性 XmlnsPrefix 和 XmlnsDefinition。

提前致谢。

0 投票
0 回答
311 浏览

silverlight-4.0 - 在 XAML 中扩展 Silverlight 控件和添加控件

我在视图中放置了一些控件,我决定最好将它们组合起来并制作一个自定义控件。我知道如何扩展控件并添加依赖属性,但我不知道如何通过 xaml 将控件添加到我的扩展控件。我假设这是最快的方法?我没有在网上找到任何解释如何做到这一点的教程。提前致谢。

0 投票
2 回答
24602 浏览

wpf - 从资源文件加载 WPF 样式

我正在尝试从 WPF 自定义控件库中的其他文件加载 WPF 样式,但我无法在此处加载,这是我的解决方案。

该解决方案包含两个项目

  1. WpfTestControls 类型的 WPF 自定义控件库

  2. WpfTestApp 类型的 WPF 应用程序库,它引用了 WpfTestControls

WPF 应用程序库中的 MainWindow.xaml

WPF 自定义控件库中的 Generic.xaml

WPF 自定义控件库中的 TextBoxStyle.xaml

我的 AssemblyInfo.cs 文件包含以下内容

但我仍然无法加载样式。如果我使用不使用 Generic.xaml 一切正常,例如以下代码按预期工作

我究竟做错了什么 ?提前致谢

0 投票
1 回答
1596 浏览

wpf - 加载 generic.xaml 以合并资源字典时 XamlReader 抛出

尝试在代码中加载 generic.xaml,但会引发 XamlParseException。代码如下:

这个想法是在一个基本页面中合并一个资源字典。然后派生的页面可以使用例如,从它们的基类中使用样式、颜色、画笔等{StaticResource DarkBrush}

但是上面的代码抛出:

'',十六进制值 0x0C,是无效字符。第 1 行,位置 1。

generic.xaml 文件是在 VS2010 中以标准方式创建的。试图将 Build Action 设置为 Resource 但这也不起作用......

我从 Microsoft获得了代码示例。在那里它被用来加载一个页面。任何帮助将不胜感激。

0 投票
2 回答
218 浏览

wpf - WPF 自定义组件和 URI

我已经尝试了所有我能找到的方法来让我的自定义控件理解 URI 包——包括 generic.xaml 和代码。我发现的所有示例在我的用户控件中都可以正常工作,但在自定义控件中却不行。

所有文件都设置为Resource- 除了 generic.xaml,如果我更改自定义控件停止一起显示。

如果我尝试任何类型的包 URI,我会在编译时出错。相对或绝对,无所谓。我也尝试将图像放入其他程序集中,但没有运气。

如果我尝试New Uri("/Images/btnImage.PNG", UriKind.Relative)它会寻找C:\Images\btnImage.PNG,这是错误的。我也尝试过Images/btnImage.PNGor./Images/btnImage.PNG但它会寻找C:\MyProject\bin\Debug\Images\btnImage.PNG.

我唯一开始工作的是绝对绝对的 URI - 即New Uri("C:/MyProject/Images/btnImage.PNG", UriKind.Absolute).

  1. 自定义控件是否只理解文件系统的绝对 URI?
  2. If 1 = No Then Return correctAnswer(请)