在Windows应用商店中使用静态方法进行绑定

时间:2014-09-28 07:47:28

标签: winrt-xaml windows-phone-8.1

我有一个带有某些函数的静态类来提供资源路径。目前我只是在所有用于绑定的视图模型中创建这些函数的包装器。我想知道在Windows Phone 8.1中是否有某种方法可以将静态功能直接绑定到图像源。 在wpf中,Objectdataprovider会很有用,但在Windows应用商店应用中不支持。我也找不到任何文件。

<Rectangle.Fill>
 <ImageBrush Stretch="Fill" 
             ImageSource="{Binding ImagePath"/>
 </Rectangle.Fill>

提前致谢

1 个答案:

答案 0 :(得分:1)

它(当前)无法绑定到静态类,因为绑定需要一个对象实例。但是,您可以绑定到类的静态属性。

您可以在静态类周围创建一个实例包装器:

public class BindingHelper
  {
    public static string ImagePath
    {
      get { return AssetHelper.ImagePath; }
    }
  }

现在为此BindingHelper创建一个应用程序资源:

<application.resources>
  <BindingHelper x:key="BindingHelperResource"></BindingHelper >
</application.resources>

并将此资源用于绑定:

<textblock text="{Binding Path=ImagePath, Source={StaticResource BindingHelperResource}}">