저는 Xamarin.Forms에서 새롭고 TableView에서 선택된 항목으로 선택된 표시기로 표시하고 아이콘을 표시하려고 시도하지만 실제로는 약간 손실됩니다 ...행을 선택하면 어떻게 표시하고 이미지를 만들 수 있습니까?
내 문제는 바로 지금입니다. 아이콘은 목록의 각 요소에 표시되며 기본적으로 숨김으로 설정하고 사용자가 목록의 요소를 선택하면 표시합니다 (물론 선택 취소 된 행의 아이콘을 숨길 수 있음).
어떤 힌트를 얻으시겠습니까? 어떤 아이디어 나 힌트라도 도움이 될 것입니다.
여기 목록 코드 :
<base:ListView
ItemsSource="{Binding DeliveryMethodList}"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
RowHeight="60"
HeightRequest="120"
BackgroundColor="Transparent"
IsPullToRefreshEnabled="false"
SeparatorVisibility="None"
SelectedItem="{Binding SelectedDeliveryMethod}">
<base:ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout
Orientation="Horizontal"
HorizontalOptions="FillAndExpand"
VerticalOptions="CenterAndExpand">
<base:Image
HeightRequest="{base:PointSize 15}"
WidthRequest="{base:PointSize 15}"
Source="{x:Static res:Images.AcceptIco}"
IsVisible="{Binding IsSelectedDeliveryIconVisible}"
VerticalOptions="Center"
HorizontalOptions="Center"/>
<base:Label
FontSize="{StaticResource FontSizeMedium1}"
Text="{Binding name}"
HorizontalOptions="Center"
VerticalOptions="Start"
TextColor="White"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</base:ListView.ItemTemplate>
</base:ListView>
여기에 선택과 항목 소스에 내 뷰 모델 방법입니다 :
bool _isSelectedDeliveryIconVisible;
public bool IsSelectedDeliveryIconVisible
{
get { return _isSelectedDeliveryIconVisible; }
set { SetProperty(ref _isSelectedDeliveryIconVisible, value); }
}
ObservableCollection<DeliveryMethod> _deliveryMethodList;
public ObservableCollection<DeliveryMethod> DeliveryMethodList
{
get { return _deliveryMethodList; }
set { SetProperty(ref _deliveryMethodList, value); }
}
DeliveryMethod _selectedDeliveryMethod;
public DeliveryMethod SelectedDeliveryMethod
{
get { return _selectedDeliveryMethod; }
set
{
SetProperty(ref _selectedDeliveryMethod, value);
if (_selectedDeliveryMethod != null)
{
IsSelectedDeliveryIconVisible = true;
}
}
}
최고!
어디에서 IsSelectedDeliveryIconVisible입니까? VM이나 DeliveryMethod의 속성입니까? 목록의 각 셀은 DeliveryMethod 인스턴스에 바인딩되어 있습니다. – Jason
안녕하세요 @ 제이슨, 코드를 업데이트했습니다. IsSelectedDeliveryIconVisible은 VM의 속성입니다. – requenaxii