问题标签 [staticresource]

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 投票
2 回答
221 浏览

wpf - WPF:防止引发“StaticResource not besolved”异常?

正如我们所知,如果没有找到密钥,它会引发异常。但是,有没有办法防止这种情况,只需将控件的可见性设置为隐藏?或者像绑定一样给它一个FallbackValue ?

一个简单的例子:
<TextBlock Text="{StaticResource myKey}"/>
现在“myKey”没有定义,默认情况下会引发异常。但我希望我可以将TextBlock的Visiblity设置为隐藏:
<TextBlock Text="nothing here" Visibilty="Hidden">
或者:(
<TextBlock Text="nothing here" FallbackValue="default value">注意:“FallbackValue”确实不存在)
然后应用程序可以继续。没有错,干杯:)

0 投票
1 回答
798 浏览

wpf - 从 DataContext 创建静态资源?

全部,

是否可以从 DataContext 中的对象创建一个 StaticResource(不添加代码隐藏)?以 UserControl 的 DependencyProperty 为例:

IVMHeaderGeneric是一个由该用户控件的使用者实例化为类的接口。

我需要做的是,以某种方式(最好没有代码隐藏)将其添加到 UserControl 的资源中,从而允许我对不继承 DataContext 的 UIElements 执行数据绑定(即想到 DataGridColumn)。

提前致谢。

0 投票
2 回答
32454 浏览

wpf - 引用另一个 xaml 文件中定义的自定义资源

我正在尝试在一个 xaml 文件中创建一个新资源并在另一个 xaml 文件中引用它。即我定义

并尝试在另一个 xaml 文件中使用它

但是我收到错误“找不到静态资源参考'TileBrush'。” 我可以从同一个 xaml 文件中引用资源,但不知道如何从另一个文件中引用。

0 投票
1 回答
1595 浏览

wpf - WPF:将空值添加为静态资源

是否可以将 null 添加为标记元素的静态资源?我希望能够使用{StaticResource myKey}语法来引用一个值。目前我需要引用的值为 null,但将来可能不会。我对其余标记中的值有多个引用,我希望它们引用资源键而不是{x:Null}.

我希望这样做:

...但这不起作用。它可以编译,但在运行时会引发 XamlParseException,表示无法解析资源引用。

0 投票
1 回答
1810 浏览

wpf - wpf datagrid组合框绑定静态资源键值对列表

我希望有人可以帮助我或发布相关问题的链接,这将有答案。我已经阅读了其中的大部分内容,这就是我走到这一步的原因......

所以我有一个包含 3 列的数据网格,其中两个绑定到一个数据表,第三个是组合框列应该绑定到另一个。

我将组合框列绑定到静态资源。

我不了解如何将数据表转换为我想用作组合框列的静态资源的键值对列表。

XAML:

组合框列:

现在这工作正常,但我如何将此表传递给 MyClassificators 类以及如何将其转换为 list> :

0 投票
1 回答
21289 浏览

wpf - 如何使用转换器绑定到静态资源?

我想在将其分配给属性之前使用 aConverter来更改 a 的值。StaticResource有没有一种方法可以模拟一个Binding只设置StaticResource转换后的值的方法?

{Binding Value={StaticResource myStatic}, Converter={StaticResource myConverter}}什么?

0 投票
3 回答
8018 浏览

wpf - wpf绑定到静态资源

所以我在 WPF 中绑定有问题。我正在尝试将 DataGrid ComboBoxColumn 与静态资源绑定,但没有运气。我知道问题出在哪里,但我不确定如何解决。

在 XAML 我有这个:

和 DataGridComboBoxColumn

我绑定的源代码:

以及传递数据表的代码:

我知道很可能我只需要编辑资源部分,但我不确定我应该如何去做?

0 投票
1 回答
2651 浏览

wpf - CompositeCollection/CollectionViewSource 混淆

我对使用这些类型时数据绑定的工作方式有点困惑。

我读过您不能执行以下操作

因为 CompositeCollection 没有 datacontext 的概念,因此其中使用绑定的任何内容都必须设置 Source 属性。如以下:

但这是如何工作的?它将源设置为某些东西,但是那个东西,在这种情况下, CollectionViewSource 使用数据上下文(因为它没有明确设置源)。

那么既然在Window的资源中声明了“list”,是不是就意味着它获取了Windows DataContext呢?在这种情况下,为什么以下也不起作用?

0 投票
1 回答
2051 浏览

wpf - 'StaticResource MyTemplate' 不是 Setter 上的 'System.Windows.Controls.Control.Template' 属性的有效值

将 DataTrigger 动态添加到现有元素时出现问题。

如果我像这样在 MainWindow.XAML 中对其进行硬编码,它可以正常工作:

在 App.Xaml 中:

在 MainWindow.XAML 中:

但是,如果我在后面的代码中创建 DataTrigger,如下所示:

我在绑定期间收到以下错误(当我将触发器添加到模板并使用 XamlWriter.Write(myDataTemplate) 显示它已正确添加到 DataTemplate 时没有错误):

'StaticResource MyTemplate' 不是 Setter 上的 'System.Windows.Controls.Control.Template' 属性的有效值。

我必须在运行时加载触发器,因为它(triggerValue)来自动态加载的插件。如果我将 ControlTemplate 直接添加到 Setter 而不是将其作为 StaticResource 引用,它也可以正常工作,但我不喜欢在我可能需要它的每个页面/窗口上加载相同的 ControlTemplate 的想法。

如果我从后面的代码中添加资源,我知道如何让 DataTrigger 中的 Setter 引用资源吗?

0 投票
2 回答
799 浏览

wpf - 将属性绑定到现有绑定

我有一个带有多个按钮的界面。我想根据“复杂”条件启用或禁用这些按钮。为了避免代码重复,我将此 MultiBinding 声明为应用程序资源:

这是我声明按钮的方式:

在运行时,我收到以下错误:“设置属性 IsEnabled 引发异常... MultiBinding 不是属性 IsEnabled 的有效值”。

我不知道为什么这不起作用。您能否指出正确的方法来做到这一点?谢谢你。