У меня есть мнение с изображением, которое имеет водопроводную жест, связанный с командой:Могу ли я получить связанный элемент изнутри в форме Xamarin?
ВИД:
var clickableImage = new Image(...);
var imageTap = new TapGestureRecognizer();
clickableImage.GestureRecognizers.Add(imageTap);
imageTap.SetBinding<MyViewModel>(TapGestureRecognizer.CommandProperty, _ => _.MyCommand);
Команда в модели представления, как это:
VIEW МОДЕЛЬ
public ICommand MyCommand
{
get
{
return new Command((parameters) =>
{
// Can I access imageTap element here?
});
}
}
Есть ли какой-либо способ ss элемент imageTap из команды, к которой он привязан?
Кто бы ни отклонил - скажите, пожалуйста, почему. Я ничего не узнаю, если вы без колебаний объясняете. – jbyrd
Другие опубликовали решения о том, как вы можете добиться этого с помощью параметра команды, я просто добавлю, что вам следует, вероятно, переосмыслить, почему вы делаете это в первую очередь. Команда находится внутри ViewModel, ViewModel не должен знать ваше мнение, только наоборот. MVVM имеет чистое разделение этих слоев, и вы идете по всему, что если вы передаете ссылки на изображение или в зависимости от пространства имен Xamarin.Forms вообще в модели представления – irreal
@irreal - так, у меня есть пользовательский элемент (в основном блок с значком и различными битами текста), который имеет 4 варианта. Основываясь на этом варианте, я хочу, чтобы команда делала несколько разные вещи, поэтому команда должна знать, какова вариация моего пользовательского элемента. Передав элемент в параметр команды, я могу это сделать. Это имеет смысл сейчас, или вы все еще думаете, что мой подход проблематичен? – jbyrd