MobileRadioList.xaml 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <ContentView
  3. xmlns="http://xamarin.com/schemas/2014/forms"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
  5. xmlns:mobile="clr-namespace:InABox.Mobile;assembly=InABox.Mobile.Shared"
  6. x:Class="InABox.Mobile.MobileRadioList"
  7. x:DataType="mobile:MobileRadioList">
  8. <ContentView.Resources>
  9. <mobile:BooleanToImageConverter x:Key="CheckedConverter" Checked="checked" Unchecked="unchecked"/>
  10. </ContentView.Resources>
  11. <ContentView.Content>
  12. <mobile:MobileCard
  13. Padding="10"
  14. BorderColor="{Binding BorderColor}"
  15. BackgroundColor="{Binding BackgroundColor}"
  16. IsClippedToBounds="True">
  17. <CollectionView
  18. x:Name="_list"
  19. BackgroundColor="Transparent"
  20. ItemSizingStrategy="MeasureAllItems"
  21. SelectionMode="None">
  22. <CollectionView.ItemsLayout>
  23. <LinearItemsLayout
  24. ItemSpacing="5"
  25. Orientation="Vertical" />
  26. </CollectionView.ItemsLayout>
  27. <CollectionView.ItemTemplate>
  28. <DataTemplate
  29. x:DataType="mobile:MobileRadioListItem">
  30. <Grid
  31. Grid.ColumnSpacing="5">
  32. <Grid.ColumnDefinitions>
  33. <ColumnDefinition Width="Auto"/>
  34. <ColumnDefinition Width="*"/>
  35. </Grid.ColumnDefinitions>
  36. <Image
  37. Grid.Column="0"
  38. HeightRequest="20"
  39. WidthRequest="20"
  40. VerticalOptions="Center">
  41. <!-- Source="{Binding IsChecked, Converter={StaticResource CheckedConverter}, Mode=TwoWay}" -->
  42. <Image.Triggers>
  43. <DataTrigger TargetType="Image" Binding="{Binding IsChecked}" Value="True">
  44. <Setter Property="Source" Value="checked" />
  45. </DataTrigger>
  46. <DataTrigger TargetType="Image" Binding="{Binding IsChecked}" Value="False">
  47. <Setter Property="Source" Value="unchecked" />
  48. </DataTrigger>
  49. </Image.Triggers>
  50. <Image.GestureRecognizers>
  51. <TapGestureRecognizer Tapped="Tapped"/>
  52. </Image.GestureRecognizers>
  53. </Image>
  54. <Label
  55. Grid.Column="1"
  56. Text="{Binding Text}"
  57. TextColor="{Binding Source={RelativeSource AncestorType={x:Type mobile:MobileRadioList}}, Path=TextColor}"
  58. FontSize="Small"
  59. VerticalTextAlignment="Center"
  60. VerticalOptions="Fill">
  61. <Label.GestureRecognizers>
  62. <TapGestureRecognizer Tapped="Tapped"/>
  63. </Label.GestureRecognizers>
  64. </Label>
  65. </Grid>
  66. </DataTemplate>
  67. </CollectionView.ItemTemplate>
  68. </CollectionView>
  69. </mobile:MobileCard>
  70. </ContentView.Content>
  71. </ContentView>