在xaml中调用静态方法

时间:2013-05-03 12:28:43

标签: c# xaml styles microsoft-metro

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

我需要像这样使用它:

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

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

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

3 个答案:

答案 0 :(得分:0)

我记得在以前的项目中,在metro应用程序中无法访问静态代码。我们必须引用一些常量,如果它们是常量或静态则无法引用它们。但时间过去了可能会发生一些变化,但我对此表示怀疑......

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

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

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

有关DataBinding的一些基本信息如下:
A Guided Tour of WPF – Part 3 (Data binding)