2

如何在 Metro 风格应用程序的 xaml 中使用静态方法(带参数)?在 wpf 中我可以使用 ObjectDataProvider,但在 WinRT 中没有这样的东西。

我需要像这样使用它:

<button x:Name="MyButton" Content=MyStaticMethodCall("Sth") />

有没有办法做到这一点?还是将对象存储在资源中,然后像这样调用他的方法?

<button x:Name="MyButton" Content={StaticResource MyObject, Path=MyObject.MyMethod("bla") />
4

3 回答 3

0

我不确定你想要什么,但为什么不使用 MarkupExtension。

您可以简单地添加 xaml,然后使用 ProvideValue 方法调用静态方法。

如果您需要代码示例,请发表评论。

于 2013-05-03T12:53:40.127 回答
0

这不是它的工作方式,而不是调用方法,您应该使用 DataBinding - 将 Button 的 DataContext 或整个页面设置为您的对象,然后像这样绑定 Button 内容:

<Button x:Name="MyButton" Content="{Binding ButtonContent}" />

有关 DataBinding 的一些基本信息在这里:
WPF 指南 - 第 3 部分(数据绑定)

于 2013-05-18T08:14:54.743 回答
0

我记得在之前的项目中,metro 应用程序无法访问静态代码。我们必须引用一些常量,如果它们是 const 或 static,就无法引用它们。但是时间过去了,也许有些事情发生了变化,但我对此表示怀疑...

于 2013-05-03T12:40:36.007 回答