У меня есть список и много ячеек.Элемент Itemstemplate выбирается с помощью класса MessageTemplateSelector.В MainViewModel есть коллекция сообщений.Я связал коллекцию сообщений в списке.Работает нормально.Но элемент пользовательского интерфейса viewcell связан со свойством viewmodel с именем ShowSenderIcon, которое не связано с элементом пользовательского интерфейса.Я перепробовал много предложений.Но это не работает.Мой пример кода приведен ниже. Пожалуйста, обратитесь. Мое требование - я хочу скрыть фрейм с помощью свойства viewmodel (ShowSenderIcon).
Я пробовал это,
MainPage.xaml
<sync:SfListView
x:Name="ListView"
Grid.Row="0"
Margin="0"
AutoFitMode="Height"
IsBusy="True"
ItemSize="100"
ItemSpacing="10"
ItemTemplate="{StaticResource MessageTemplateSelector}"
ItemsSource="{Binding Messages}"
SelectionMode="None"
VerticalOptions="Start"/>
IncomingViewCell.cs
<Frame
x:Name="avatorFrame"
CornerRadius="25"
HasShadow="false"
IsVisible="{Binding Path=BindingContext.ShowSenderIcon, Source={x:Reference ListView}, Mode=TwoWay}"
OutlineColor="Gray"/>
MainPageViewModel.cs
private bool showSenderIcon = false;
public bool ShowSenderIcon
{
get { return showSenderIcon; }
set { showSenderIcon = value; OnPropertyChanged("ShowSenderIcon"); }
}
private ObservableCollection<Message> messagesList;
public ObservableCollection<Message> Messages
{
get { return messagesList; }
set { messagesList = value; }
}
public MainPageViewModel()
{
Messages = new ObservableCollection<Message>();
Messages.Add(new Message { Text = "Hi", IsIncoming = true, MessagDateTime = DateTime.Now, ShowTimeStamp = false });
}