问题标签 [xamlreader]
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.
silverlight - Silverlight 3.0 自定义 ListBox DataTemplate 有一个复选框,选中的事件未触发
ListBox 的数据模板由 XamlReader.Load 动态设置。我通过使用 VisualTreeHelper.GetChild 获取 CheckBox 对象来订阅 Checked 事件。此事件没有被触发
代码片段
如何处理选中的事件?请帮忙
wpf - 使用没有默认构造函数的 XamlWriter 序列化 WPF 组件
我发现你可以序列化一个 wpf 组件,在我的例子中 a FixedDocument
,使用XamlWriter
和 a MemoryStream
:
然后将其取回:
但是,现在我也需要能够序列化 a DocumentPage
。它缺少一个默认构造函数,这使得XamlReader.Load
调用抛出异常。
有没有办法在没有默认构造函数的情况下序列化 wpf 组件?
.net - WPF:在运行时替换页面或用户控件的 XAML(两者都可以)?
我知道可以在运行时解析一个 XAML - 文件并创建一个 UIElement,我可以将其插入到我的页面网格中,没有问题。
但我真正想要的是替换我的页面或用户控件的整个 XAML,这也可能吗?
推理:
我想让我的应用程序的用户有机会运行应用程序(启动需要很长时间 - 由于一些遗留问题而无法缩短),并且只需在 Blend 中通过“ctrl + s”更新视图。
c# - XamlWriter/Reader -> 多个构造函数调用导致重复元素
我有点卡在这里。我正在使用一个拖放库,它通过 XamlWriter.Save() 对拖动的 UIElements 进行序列化。
现在我正在尝试拖放扩展网格的类的一些实例。在构造函数中,我将一些元素推送到可视化树中。当对象被反序列化并再次添加元素时,构造函数被调用(一次又一次取决于我拖放的频率)。可悲的是,如果我从构造函数中检索值,Children.Count 告诉我没有子元素。如果我从外部(通过 myGrid.Children.Count)检索它,它会给我更高的(不需要的)数量。
我应该使用其他任何功能来初始化视觉效果吗?或任何其他方式来防止这些重复?
谢谢和欢呼
xaml - 是否可以将 XAML 用于我自己的想法/框架?
你知道是否可以在 C# 中自己创建一个框架,利用 XAML 提供的好东西,例如依赖属性和数据绑定?
还是我必须自己从头开始创造一切?
c# - XamlWriter 失去绑定 - 好的!但如何保持价值?(项目控制)
我知道标准的 XamlWriter 不会持久绑定。但真正令人讨厌的是绑定持有的当前值也没有被序列化。
我目前 - 真的很愚蠢 - 解决方法是创建一个 DependencyProperty fooProperty 和属性 foo。还有一个属性 foo2。然后 foo 的 Change-eventhandler 将其值写入 foo2。
你看:愚蠢。
有没有人有更好的解决方案?
干杯
-- 编辑回应托马斯 --
基本上你是对的。但是当使用 ItemsControl 时,它看起来有点不同:
如果您运行此测试应用程序并将光标移到不同的文本框上,您会发现序列化硬编码和直接绑定的值没有问题。相反,数据模板化绑定不会被序列化。
顺便说一句,使用代码生成的 ItemsSource 而不是 StaticReference 没有区别,只是测试了一下..
.net - 如何控制 XmlWriter 生成的 XML 文档中命名空间的前缀 - 生成的 XAML 带有 x:Type 标记扩展
我正在尝试从 XElements 生成 XAML。
但是,我对x:Type
标记扩展有疑问。它无法解析前缀p:
,因为我不知道如何强制输出 XAML 将前缀映射p
到命名空间http://schemas.microsoft.com/winfx/2006/xaml/presentation
。
有没有办法控制如何生成 XML 命名空间的前缀?或者是否可以强制x:Type
标记扩展采用 XML 命名空间名称而不是前缀?
wpf - 为什么当我使用 ParserContext 时 XamlReader 会抛出异常?
这有效:
这会抛出XML 命名空间 'clr-namespace:Farm;assembly=Farm' 中不存在标签 'Pig':
为什么?
Farm 是调用应用程序。
c# - 将事件/命令与 XamlReader 一起使用
我正在使用 XamlReader.Parse(string) 动态构建我的数据模板。我遇到的问题是我无法在使用 XamlReader 创建的任何控件上放置任何事件。在网上做了一些研究后,我了解到这是 XamlReader 的一个已知限制。
我对 WPF 中的命令了解不多,但我能以某种方式使用它们来获得相同的结果吗?如果有怎么办?如果没有,有什么方法可以处理我的代码中的事件,该事件来自使用 Xaml Reader 创建的控件?
下面是我创建的数据模板的示例。我在将托管此数据模板的窗口的代码隐藏中定义了 MenuItem_Click 事件处理程序。
尝试运行它时出现以下错误: System.Windows.Markup.XamlParseException 未处理:无法从文本“MenuItem_Click”创建“单击”。
c# - 在 C# 代码中构建 Silverlight DataTemplate
这可能会引起更大的抗议,但在 Silverlight 代码中构建 DataTemplate 似乎是不可能的。我知道使用 XamlReader.Load(string) 的一个选项,使用这种方法遇到了几个问题:
没有验证,一切都是在连接的字符串中完成的。我们都知道这很糟糕
必须包含任何必要的资源,因为这将在其自己的上下文中运行。这也很糟糕,尽管有一个合乎逻辑的解释,而不是一个表演停止者。
任何在 DataTemplate 中包含事件调用的尝试都将失败,并显示 InvalidOperationException: Invalid XAML for control: XamlReader.Load() 不接受事件处理程序。
No.3 对我来说似乎是一个表演者。如果有人对另一种/更好的方法提供一些线索、指示或想法,我将不胜感激。
在 WPF 中有一个 FrameworkElementFactory 可以提供帮助,但是在 Silverlight 中似乎没有补救措施。