Xamarin에서 CardView 선택
Nov 17 2020
내 Xamarin에는 두 개의 CardView
(https://github.com/tiger4589/Xamarin.Forms-CardView) 별도의 Grid.Column
.
내가 원하는 것은 Button을 활성화하는 CardView (한 번에 하나씩)를 선택하는 것입니다.
어떻게하면 이룰 수 있습니까?
CardView 용 .xml 코드
<Grid Grid.Column="0">
<cardView:CardView>
<cardView:CardView.CardViewContent>
<StackLayout>
<Label
Text="PIN"
FontSize="18"
HorizontalTextAlignment="Center">
</Label>
</StackLayout>
</cardView:CardView.CardViewContent>
</cardView:CardView>
</Grid>
<Grid Grid.Column="1">
<cardView:CardView>
<cardView:CardView.CardViewContent>
<StackLayout>
<Label
Text="QR Scan"
FontSize="18"
HorizontalTextAlignment="Center">
</Label>
</StackLayout>
</cardView:CardView.CardViewContent>
</cardView:CardView>
</Grid>
Button 용 .xml 코드
<Button
x:Name="FormButton"
IsEnabled="False"
TextColor="#4DABFE"
Text="Submit">
</Button>
CollectionView 업데이트
<StackLayout>
<Frame >
<CollectionView ItemsSource="{Binding .}"
SelectionMode="Single">
<CollectionView.ItemTemplate>
<DataTemplate>
<StackLayout Orientation="Horizontal">
<Label Text="Tokyo"
FontSize="20"
TextColor="Orange"
VerticalOptions="Center" />
</StackLayout>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</Frame>
</StackLayout>
답변
1 RonakShethia Nov 17 2020 at 14:48
귀하의 collectionview는 다음과 같습니다
<CollectionView x:Name="MyCollection"
SelectionMode="Single">
<CollectionView.ItemTemplate>
<DataTemplate>
<StackLayout Orientation="Horizontal">
<Label Text="{Binding Title}"
FontSize="20"
TextColor="{Binding ItemColor}"
VerticalOptions="Center" />
</StackLayout>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
이제 모델을 생성해야합니다. 다음과 같은 속성을 가질 MyDataModel
class MyDataModel
{
public int ItemId{ get; set; }
public string Title { get; set; }
public string ItemColor { get; set; }
}
이제 .cs 파일의 목록을 초기화해야합니다. 또한이 뷰 뷰 모델을 수행 할 수 있지만 귀하의 경우에는 .cs를 사용하므로 생성자에서 다음과 같이 보일 것입니다.
var myList = new List<MyDataModel>();
Loop your XmlData List
eg. XmlDataList.ForEach((item)=>{ myList.Add(new MyDataModel{Title = item.properyinxml
})});
MyCollection.ItemSource = myList;