0

我得到以下代码:

namespace SomeApp
{
  public partial class MyClass : PhoneApplicationPage, IValueConverter
  {

    SOME METHODS...

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {

        return true;

    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {

        return true;

    }

  }
}


我想将此类绑定到 RadioButton 的 ValueConverter。有什么方法可以引用我正在使用的当前类吗?例如:

<phone:PhoneApplicationPage
x:Class="SomeApp.MyClass"
xmlns:local="clr-namespace:SomeApp">

<phone:PhoneApplicationPage.Resources>
<local:MyClass x:Key="myClass"/>
</phone:PhoneApplicationPage.Resources>

<RadioButton IsChecked="{Binding Converter={StaticResource myClass}}"/>

提前感谢=)

4

1 回答 1

0

首先将您的页面用作转换器似乎不是一个好主意,最好将转换器功能分离到一个单独的类中。特别是创建一个以这种方式创建的转换器的 StaticResources 将是一个非常糟糕的主意,因为它将使用大量不必要的内存来创建整个页面。

转换器可以在 xaml 中绑定的唯一内容是 StaticResource,因此您将无法在 xaml 中执行此操作,但如果您真的想这样做,您可以通过从后面的代码创建绑定来完成(例如在这页纸):

Binding binding=new Binding();
binding.Converter = this;
myRadioButton.SetBinding(CheckBox.IsCheckedProperty, binding);
于 2013-09-22T21:13:09.177 回答