2016-06-20 4 views
0

Я работаю над форматами Xamarin, используя Xamarin Studio. У меня возникает проблема связать видимость изображения, как показано ниже. Пожалуйста, предложите мне некоторые изменения. Заранее спасибо.Как связать видимость изображения с пользовательской собственностью

var radiobtn_preference = new CircleImage { 
      BorderColor = ColorResources.commonButtonBackgroundColor, 
      HeightRequest = 25, 
      WidthRequest = 25, 
      Aspect = Aspect.AspectFill, 
      HorizontalOptions = LayoutOptions.Center, 
      VerticalOptions = LayoutOptions.Center, 
      Source="radio_uncheck.png", 
     }; 

radiobtn_preference.SetBinding (radiobtn_preference.IsVisible, "isExcluded");

общедоступный класс классов { public string Имя {get; задавать; } public string id {get; set;} public bool isExcluded {get; набор;}}

public static class tableData 
{ 

    public static List<table> GetData() 
    { 

     return new List<table> { 
      new table() { 
       Name="Peru",isExcluded=true, 
      }, 
      new table() { 
       Name="Apple",isExcluded=false, 
      }, 
      new table() { 
       Name="Grapes",isExcluded=true, 
      }, 
     }; 
    } 

} 

Я объявляю изображение и пытается связать его видимость собственности, установленного пользователем.

+0

И в чем проблема с этим? Что вы пробовали? Где вы потерпели неудачу? –

+0

Ошибка: наилучшее перегруженное соответствие метода для 'Xamarin.Forms.BindableObject.SetBinding (Xamarin.Forms.BindableProperty, Xamarin.Forms.BindingBase) 'имеет некоторые недопустимые аргументы – Dipak

+0

Ошибка CS1503: Аргумент' # 1' не может преобразовать выражение 'bool ' наберите 'Xamarin.Forms.BindableProperty ' – Dipak

ответ

0

Как вывести из комментариев есть ошибка в вашем коде:

radiobtn_preference.SetBinding (radiobtn_preference.IsVisible, "isExcluded");

Должно быть

radiobtn_preference.SetBinding (CircleImage.IsVisibleProperty, "isExcluded");

Обратите внимание, как первый параметр изменился. Этот параметр должен быть идентификатором свойства, к которому вы привязываетесь, а не фактического экземпляра свойства. Если это должно быть связано с примечанием Grid, вам нужно будет использовать Grid.IsVisibleProperty. Если вы хотите связать другое свойство, например свойство IsEnabled, вам нужно будет использовать идентификатор CircleImage.IsEnabledProperty.

 Смежные вопросы

  • Нет связанных вопросов^_^