Tag: dynamicresource

DynamicResources是如何构建的以及它们在上下文中的用法

动态资源真的是动态的吗? 如果我定义一个DynamicResource,我意识到一个表达式被创建(在哪里?),直到运行时才被转换为资源,但是,我不会理解的是,这个动态结构,一旦构建,现在是“静态” 例如,如果我通过动态资源创建一个上下文菜单,那么在运行时在访问时创建的菜单项是静态的,即使它们是绑定的吗? 如果是这样,我如何在XAML中创建动态上下文菜单?

绑定到资源键,WPF

我有一个带有一些图像的ResourceDictionary: 我为树视图项创建了一个HierarchicalTemplate ,如下所示: 现在,当显示项目时: Textblock显示FolderItemImage 显示第一张图片 未显示第二张图像。 整个想法是将项目图像设置为存储在资源中的图像,但不幸的是,上面介绍的技术不起作用,现在我知道,为什么: 结果: PresentationFramework.dll中出现未处理的“System.Windows.Markup.XamlParseException”类型exception 附加信息:无法在“DynamicResourceExtension”类型的“ResourceKey”属性上设置“绑定”。 ‘绑定’只能在DependencyObject的DependencyProperty上设置。 所以我不得不重新提出我的问题:如何将模型中存储的某些数据(可能是?)转换为动态资源? 它必须是一个动态资源,因为我确信它可能会在运行时发生变化。

将故事板放在应用程序资源中

我需要在几个地方使用相同的故事板,因此我将故事板放在我的Application.Resources中。 当我尝试执行故事板时,唯一的问题是我需要引用我想要动画的目标。 这是我的故事板: border2 我为不同对象的高度设置动画的方式是通过更改动态资源目标。 当故事板在当前窗口时,我能够这样做。 但是现在我想将它放在应用程序资源中,我不知道如何引用目标属性。 编辑 我之前发布的解决方案效果不错但有时很难用代码创建复杂的动画。 所以我解决的另一个替代解决方案是使用表达式混合创建故事板。 所以我将一个随机控件拖到表达式混合中的主窗口并创建一个随机动画。 让我们说动画出现为: 然后我复制该代码并将其粘贴到我的工作窗口而不是APP.XAML中。 然后在我的代码中让我说我有一个: 由于某种原因,变换组必须在那里才能为对象设置动画。 无论如何,让我们说我在工作窗口中有那个寄宿生,我想用我用表达式混合创建的相同动画来设置动画。 我将在代码中做的是: Storyboard sb1 = FindResource(“Storyboard1”) as Storyboard; foreach (var child in sb1.Children) { Storyboard.SetTargetName(child, brdBorder.Name); } sb1.Begin(this); 然后我能够在我的工作窗口上设置该边框的动画。 这个很好的部分是我能够将相同的动画应用于多个对象(这是我认为创建资源的目的)当我尝试将故事板放在资源字典或app.xaml中时问题就出现了。文件。 当我这样做时,c#能够找到故事板,但故事板的属性是只读的,因此我得到错误: Cannot set a property on object ‘System.Windows.Media.Animation.DoubleAnimationUsingKeyFrames’ because it is in a read-only state. 我想要这样做的原因是将相同的动画应用于多个对象。 解决方案是使用代码构建基本动画,然后使用更复杂的动画(如缓动函数等)将其另存为资源。 让我告诉你我的意思。 在我的资源文件中,我放置了以下资源: 在expresion混合中,您可以构建更复杂的缓动function。 […]

Sql,Wpf,Xaml,C#,绑定数据,动态资源,访问非静态数据,获取对象的引用

好吧,我对WPF和XAML非常陌生,尽管我的搜索我找不到一个简单的解决方案,但在我看来,我很快就找不到答案了。 问题很简单,我创建了一个WPF项目,并在SelectList.xaml中有一个数据网格。一旦选中一行,我将所选行保存在一个对象中,称这个对象称为“类别”。 到目前为止一切正常,但我无法弄清楚如何从其他地方temp.xaml获取对该对象的引用? 非常感谢任何帮助将非常感谢干杯

如何绑定到DynamicResource以便可以使用Converter或StringFormat等? (修订版4)

注意:这是对早期设计的修订,其具有不可用于样式的限制,相当于否定其有效性。 但是, 这个新版本现在可以使用样式 ,基本上可以让你在任何可以使用绑定或动态资源的地方使用它,并获得预期的结果,使它非常有用。 从技术上讲,这不是一个问题。 这是一篇文章,展示了我发现使用DynamicResource作为源代码轻松使用转换器的方法,但为了遵循s / o的最佳实践,我将其作为问题/答案对发布。 因此,请查看下面的答案我找到了如何执行此操作的方法。 希望能帮助到你!