У меня есть некоторый код следующим образом:Использовать переменную из экземпляра класса в конвертере?
public partial class MainWindow : Window
{
public bool Adam = true;
public MainWindow()
{
InitializeComponent();
}
public class NextEnabled : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return Adam;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return true;
}
}
}
То, что я хочу, чтобы мой конвертер вернуть это значение Адама. Я понимаю, что это не работает прямо сейчас, потому что класс конвертера не имеет ссылки на экземпляр MainWindow. В XAML главное окно называется «window_main», и я хочу ссылаться на этот экземпляр, но не могу.
Есть ли способ сделать это? Использование return window_main.Adam;
тоже не работает - оно не распознает этот экземпляр.
Хотя я не думаю, что это лучший подход, я не могу думать о другом, и ваше решение обязательно будет работать. Только одно предложение: возможно, конструктор должен принять ссылочное значение: public NextEnabled (ref Window w) – 2010-12-07 21:33:04