mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-30 23:16:09 +00:00 
			
		
		
		
	Refactor view models
This commit is contained in:
		
							parent
							
								
									bb89a212b6
								
							
						
					
					
						commit
						cc0f0ef161
					
				
					 5 changed files with 151 additions and 151 deletions
				
			
		|  | @ -0,0 +1,20 @@ | ||||||
|  | using AideDeJeuLib; | ||||||
|  | using System.Collections.Generic; | ||||||
|  | 
 | ||||||
|  | namespace AideDeJeu.ViewModels.PlayerCharacter | ||||||
|  | { | ||||||
|  |     public class ClassViewModel : BaseViewModel | ||||||
|  |     { | ||||||
|  |         public ClassItem Class { get; set; } | ||||||
|  |         public SubClassItem SubClass { get; set; } | ||||||
|  |         public ClassHitPointsItem HitPoints { get; set; } | ||||||
|  |         public ClassProficienciesItem Proficiencies { get; set; } | ||||||
|  |         public ClassEquipmentItem Equipment { get; set; } | ||||||
|  |         public ClassEvolutionItem Evolution { get; set; } | ||||||
|  |         public List<ClassFeatureItem> Features { get; set; } | ||||||
|  | 
 | ||||||
|  |         public string Name { get { return Class?.Name; } } | ||||||
|  |         public string Description { get { return Class?.Description; } } | ||||||
|  |         public string Markdown { get { return Class?.Markdown; } } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -150,95 +150,21 @@ namespace AideDeJeu.ViewModels.PlayerCharacter | ||||||
| 
 | 
 | ||||||
|         #region Race |         #region Race | ||||||
|         public NotifyTaskCompletion<List<RaceViewModel>> Races { get; private set; } |         public NotifyTaskCompletion<List<RaceViewModel>> Races { get; private set; } | ||||||
|         private int _RaceSelectedIndex = -1; |  | ||||||
|         public int RaceSelectedIndex |  | ||||||
|         { |  | ||||||
|             get |  | ||||||
|             { |  | ||||||
|                 return _RaceSelectedIndex; |  | ||||||
|             } |  | ||||||
|             set |  | ||||||
|             { |  | ||||||
|                 SetProperty(ref _RaceSelectedIndex, value); |  | ||||||
|                 if (Races.Result.Count > _RaceSelectedIndex && _RaceSelectedIndex >= 0) |  | ||||||
|                 { |  | ||||||
|                     SelectedRace = Races.Result[_RaceSelectedIndex]; |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|         private RaceViewModel _SelectedRace = null; |  | ||||||
|         public RaceViewModel SelectedRace |  | ||||||
|         { |  | ||||||
|             get |  | ||||||
|             { |  | ||||||
|                 return _SelectedRace; |  | ||||||
|             } |  | ||||||
|             set |  | ||||||
|             { |  | ||||||
|                 SetProperty(ref _SelectedRace, value); |  | ||||||
|                 //SelectedPlayerCharacter.Race = _SelectedRace; |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
| 
 | 
 | ||||||
|         public class RaceViewModel : BaseViewModel |         //private RaceViewModel _SelectedRace = null; | ||||||
|         { |         //public RaceViewModel SelectedRace | ||||||
|             public RaceItem Race { get; set; } |         //{ | ||||||
|             public SubRaceItem SubRace { get; set; } |         //    get | ||||||
|  |         //    { | ||||||
|  |         //        return _SelectedRace; | ||||||
|  |         //    } | ||||||
|  |         //    set | ||||||
|  |         //    { | ||||||
|  |         //        SetProperty(ref _SelectedRace, value); | ||||||
|  |         //        //SelectedPlayerCharacter.Race = _SelectedRace; | ||||||
|  |         //    } | ||||||
|  |         //} | ||||||
| 
 | 
 | ||||||
|             private RaceItem RaceOrSubRace { get { return SubRace ?? Race; } } |  | ||||||
|             public string Name { get { return RaceOrSubRace.Name; } } |  | ||||||
|             public string Description { get { return RaceOrSubRace.Description; } } |  | ||||||
|             public string NewId { get { return RaceOrSubRace.NewId; } } |  | ||||||
|             public string Id { get { return RaceOrSubRace.Id; } } |  | ||||||
|             public string RootId { get { return RaceOrSubRace.RootId; } } |  | ||||||
| 
 |  | ||||||
|             public string AbilityScoreIncrease |  | ||||||
|             { |  | ||||||
|                 get |  | ||||||
|                 { |  | ||||||
|                     if(SubRace?.AbilityScoreIncrease != null) |  | ||||||
|                     { |  | ||||||
|                         return Race.AbilityScoreIncrease + "\n\n" + SubRace.AbilityScoreIncrease; |  | ||||||
|                     } |  | ||||||
|                     return Race.AbilityScoreIncrease; |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|             public OrderedDictionary Attributes |  | ||||||
|             { |  | ||||||
|                 get |  | ||||||
|                 { |  | ||||||
|                     if(SubRace == null) |  | ||||||
|                     { |  | ||||||
|                         return Race.Attributes; |  | ||||||
|                     } |  | ||||||
|                     var dico = new OrderedDictionary(); |  | ||||||
|                     foreach(DictionaryEntry attr in Race.Attributes) |  | ||||||
|                     { |  | ||||||
|                         dico[attr.Key] = attr.Value; |  | ||||||
|                     } |  | ||||||
|                     foreach (DictionaryEntry attr in SubRace.Attributes) |  | ||||||
|                     { |  | ||||||
|                         dico[attr.Key] = attr.Value; |  | ||||||
|                     } |  | ||||||
|                     return dico; |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             public virtual OrderedDictionary AttributesKeyValue |  | ||||||
|             { |  | ||||||
|                 get |  | ||||||
|                 { |  | ||||||
|                     return AideDeJeuLib.ItemAttribute.ExtractKeyValues(Attributes); |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             public string Age { get { return Race.Age; } } |  | ||||||
|             public string Alignment { get { return Race.Alignment; } } |  | ||||||
|             public string Size { get { return Race.Size; } } |  | ||||||
|             public string Speed { get { return Race.Speed; } } |  | ||||||
|             public string Darkvision { get { return Race.Darkvision; } } |  | ||||||
|             public string Languages { get { return Race.Languages; } } |  | ||||||
|         } |  | ||||||
|         public async Task<List<RaceViewModel>> LoadRacesAsync() |         public async Task<List<RaceViewModel>> LoadRacesAsync() | ||||||
|         { |         { | ||||||
|             using (var context = await StoreViewModel.GetLibraryContextAsync()) |             using (var context = await StoreViewModel.GetLibraryContextAsync()) | ||||||
|  | @ -269,47 +195,32 @@ namespace AideDeJeu.ViewModels.PlayerCharacter | ||||||
|         #region Class |         #region Class | ||||||
|         public NotifyTaskCompletion<List<ClassViewModel>> Classes { get; private set; } |         public NotifyTaskCompletion<List<ClassViewModel>> Classes { get; private set; } | ||||||
| 
 | 
 | ||||||
|         private int _ClassSelectedIndex = -1; |         //private int _ClassSelectedIndex = -1; | ||||||
|         public int ClassSelectedIndex |         //public int ClassSelectedIndex | ||||||
|         { |         //{ | ||||||
|             get |         //    get | ||||||
|             { |         //    { | ||||||
|                 return _ClassSelectedIndex; |         //        return _ClassSelectedIndex; | ||||||
|             } |         //    } | ||||||
|             set |         //    set | ||||||
|             { |         //    { | ||||||
|                 SetProperty(ref _ClassSelectedIndex, value); |         //        SetProperty(ref _ClassSelectedIndex, value); | ||||||
|                 SelectedClass = Classes.Result[_ClassSelectedIndex]; |         //        SelectedClass = Classes.Result[_ClassSelectedIndex]; | ||||||
|             } |         //    } | ||||||
|         } |         //} | ||||||
|         private ClassViewModel _SelectedClass = null; |         //private ClassViewModel _SelectedClass = null; | ||||||
|         public ClassViewModel SelectedClass |         //public ClassViewModel SelectedClass | ||||||
|         { |         //{ | ||||||
|             get |         //    get | ||||||
|             { |         //    { | ||||||
|                 return _SelectedClass; |         //        return _SelectedClass; | ||||||
|             } |         //    } | ||||||
|             set |         //    set | ||||||
|             { |         //    { | ||||||
|                 SetProperty(ref _SelectedClass, value); |         //        SetProperty(ref _SelectedClass, value); | ||||||
|                 //SelectedPlayerCharacter.Class = _SelectedClass; |         //        //SelectedPlayerCharacter.Class = _SelectedClass; | ||||||
|             } |         //    } | ||||||
|         } |         //} | ||||||
| 
 |  | ||||||
|         public class ClassViewModel : BaseViewModel |  | ||||||
|         { |  | ||||||
|             public ClassItem Class { get; set; } |  | ||||||
|             public SubClassItem SubClass { get; set; } |  | ||||||
|             public ClassHitPointsItem HitPoints { get; set; } |  | ||||||
|             public ClassProficienciesItem Proficiencies { get; set; } |  | ||||||
|             public ClassEquipmentItem Equipment { get; set; } |  | ||||||
|             public ClassEvolutionItem Evolution { get; set; } |  | ||||||
|             public List<ClassFeatureItem> Features { get; set; } |  | ||||||
| 
 |  | ||||||
|             public string Name { get { return Class?.Name; } } |  | ||||||
|             public string Description { get { return Class?.Description; } } |  | ||||||
|             public string Markdown { get { return Class?.Markdown; } } |  | ||||||
|         } |  | ||||||
| 
 | 
 | ||||||
|         public async Task<List<ClassViewModel>> LoadClassesAsync() |         public async Task<List<ClassViewModel>> LoadClassesAsync() | ||||||
|         { |         { | ||||||
|  |  | ||||||
|  | @ -19,8 +19,8 @@ namespace AideDeJeu.ViewModels.PlayerCharacter | ||||||
|                 SetProperty(ref _Alignment, value); |                 SetProperty(ref _Alignment, value); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         private RaceItem _Race = null; |         private RaceViewModel _Race = null; | ||||||
|         public RaceItem Race |         public RaceViewModel Race | ||||||
|         { |         { | ||||||
|             get |             get | ||||||
|             { |             { | ||||||
|  | @ -31,8 +31,8 @@ namespace AideDeJeu.ViewModels.PlayerCharacter | ||||||
|                 SetProperty(ref _Race, value); |                 SetProperty(ref _Race, value); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         private ClassItem _Class = null; |         private ClassViewModel _Class = null; | ||||||
|         public ClassItem Class |         public ClassViewModel Class | ||||||
|         { |         { | ||||||
|             get |             get | ||||||
|             { |             { | ||||||
|  |  | ||||||
|  | @ -0,0 +1,69 @@ | ||||||
|  | using AideDeJeuLib; | ||||||
|  | using System; | ||||||
|  | using System.Collections; | ||||||
|  | using System.Collections.Generic; | ||||||
|  | using System.Collections.Specialized; | ||||||
|  | using System.Text; | ||||||
|  | 
 | ||||||
|  | namespace AideDeJeu.ViewModels.PlayerCharacter | ||||||
|  | { | ||||||
|  |     public class RaceViewModel : BaseViewModel | ||||||
|  |     { | ||||||
|  |         public RaceItem Race { get; set; } | ||||||
|  |         public SubRaceItem SubRace { get; set; } | ||||||
|  | 
 | ||||||
|  |         private RaceItem RaceOrSubRace { get { return SubRace ?? Race; } } | ||||||
|  |         public string Name { get { return RaceOrSubRace.Name; } } | ||||||
|  |         public string Description { get { return RaceOrSubRace.Description; } } | ||||||
|  |         public string NewId { get { return RaceOrSubRace.NewId; } } | ||||||
|  |         public string Id { get { return RaceOrSubRace.Id; } } | ||||||
|  |         public string RootId { get { return RaceOrSubRace.RootId; } } | ||||||
|  | 
 | ||||||
|  |         public string AbilityScoreIncrease | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 if (SubRace?.AbilityScoreIncrease != null) | ||||||
|  |                 { | ||||||
|  |                     return Race.AbilityScoreIncrease + "\n\n" + SubRace.AbilityScoreIncrease; | ||||||
|  |                 } | ||||||
|  |                 return Race.AbilityScoreIncrease; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public OrderedDictionary Attributes | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 if (SubRace == null) | ||||||
|  |                 { | ||||||
|  |                     return Race.Attributes; | ||||||
|  |                 } | ||||||
|  |                 var dico = new OrderedDictionary(); | ||||||
|  |                 foreach (DictionaryEntry attr in Race.Attributes) | ||||||
|  |                 { | ||||||
|  |                     dico[attr.Key] = attr.Value; | ||||||
|  |                 } | ||||||
|  |                 foreach (DictionaryEntry attr in SubRace.Attributes) | ||||||
|  |                 { | ||||||
|  |                     dico[attr.Key] = attr.Value; | ||||||
|  |                 } | ||||||
|  |                 return dico; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public virtual OrderedDictionary AttributesKeyValue | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 return AideDeJeuLib.ItemAttribute.ExtractKeyValues(Attributes); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public string Age { get { return Race.Age; } } | ||||||
|  |         public string Alignment { get { return Race.Alignment; } } | ||||||
|  |         public string Size { get { return Race.Size; } } | ||||||
|  |         public string Speed { get { return Race.Speed; } } | ||||||
|  |         public string Darkvision { get { return Race.Darkvision; } } | ||||||
|  |         public string Languages { get { return Race.Languages; } } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | @ -22,31 +22,31 @@ | ||||||
|     <ContentPage Title="Race"> |     <ContentPage Title="Race"> | ||||||
|         <ScrollView Orientation="Vertical"> |         <ScrollView Orientation="Vertical"> | ||||||
|             <StackLayout> |             <StackLayout> | ||||||
|                 <views:ItemPickerView BindingContext="{Binding}" Title="Race" ItemsSource="{Binding Races.Result}" SelectedItem="{Binding SelectedRace, Mode=TwoWay}" IsEnabled="{Binding Races.IsSuccessfullyCompleted}" /> |                 <views:ItemPickerView BindingContext="{Binding}" Title="Race" ItemsSource="{Binding Races.Result}" SelectedItem="{Binding SelectedPlayerCharacter.Race, Mode=TwoWay}" IsEnabled="{Binding Races.IsSuccessfullyCompleted}" /> | ||||||
|                 <!--<Picker Title="Race" HorizontalOptions="FillAndExpand" IsEnabled="{Binding Races.IsSuccessfullyCompleted}" ItemsSource="{Binding Races.Result}" ItemDisplayBinding="{Binding Name}" SelectedIndex="{Binding RaceSelectedIndex, Mode=TwoWay}" />--> |                 <!--<Picker Title="Race" HorizontalOptions="FillAndExpand" IsEnabled="{Binding Races.IsSuccessfullyCompleted}" ItemsSource="{Binding Races.Result}" ItemDisplayBinding="{Binding Name}" SelectedIndex="{Binding RaceSelectedIndex, Mode=TwoWay}" />--> | ||||||
| 
 | 
 | ||||||
|                 <Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedRace, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" > |                 <Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedPlayerCharacter.Race, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" > | ||||||
|                     <StackLayout Padding="0"> |                     <StackLayout Padding="0"> | ||||||
| 
 | 
 | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Augmentation de caractéristiques" IsVisible="{Binding SelectedRace.AbilityScoreIncrease, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Augmentation de caractéristiques" IsVisible="{Binding SelectedPlayerCharacter.Race.AbilityScoreIncrease, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedRace.AbilityScoreIncrease}" IsVisible="{Binding SelectedRace.AbilityScoreIncrease, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.AbilityScoreIncrease}" IsVisible="{Binding SelectedPlayerCharacter.Race.AbilityScoreIncrease, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
| 
 | 
 | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Âge" IsVisible="{Binding SelectedRace.Age, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Âge" IsVisible="{Binding SelectedPlayerCharacter.Race.Age, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedRace.Age}" IsVisible="{Binding SelectedRace.Age, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Age}" IsVisible="{Binding SelectedPlayerCharacter.Race.Age, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
| 
 | 
 | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Alignement" IsVisible="{Binding SelectedRace.Alignment, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Alignement" IsVisible="{Binding SelectedPlayerCharacter.Race.Alignment, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedRace.Alignment}" IsVisible="{Binding SelectedRace.Alignment, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Alignment}" IsVisible="{Binding SelectedPlayerCharacter.Race.Alignment, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
| 
 | 
 | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Taille" IsVisible="{Binding SelectedRace.Size, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Taille" IsVisible="{Binding SelectedPlayerCharacter.Race.Size, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedRace.Size}" IsVisible="{Binding SelectedRace.Size, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Size}" IsVisible="{Binding SelectedPlayerCharacter.Race.Size, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
| 
 | 
 | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Vitesse" IsVisible="{Binding SelectedRace.Speed, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Vitesse" IsVisible="{Binding SelectedPlayerCharacter.Race.Speed, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedRace.Speed}" IsVisible="{Binding SelectedRace.Speed, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Speed}" IsVisible="{Binding SelectedPlayerCharacter.Race.Speed, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
| 
 | 
 | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Vision dans le noir" IsVisible="{Binding SelectedRace.Darkvision, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Vision dans le noir" IsVisible="{Binding SelectedPlayerCharacter.Race.Darkvision, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedRace.Darkvision}" IsVisible="{Binding SelectedRace.Darkvision, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Darkvision}" IsVisible="{Binding SelectedPlayerCharacter.Race.Darkvision, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
| 
 | 
 | ||||||
|                         <StackLayout BindableLayout.ItemsSource="{Binding SelectedRace.AttributesKeyValue}"> |                         <StackLayout BindableLayout.ItemsSource="{Binding SelectedPlayerCharacter.Race.AttributesKeyValue}"> | ||||||
|                             <BindableLayout.ItemTemplate> |                             <BindableLayout.ItemTemplate> | ||||||
|                                 <DataTemplate> |                                 <DataTemplate> | ||||||
|                                     <StackLayout> |                                     <StackLayout> | ||||||
|  | @ -57,8 +57,8 @@ | ||||||
|                             </BindableLayout.ItemTemplate> |                             </BindableLayout.ItemTemplate> | ||||||
|                         </StackLayout> |                         </StackLayout> | ||||||
| 
 | 
 | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Langues" IsVisible="{Binding SelectedRace.Languages, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Langues" IsVisible="{Binding SelectedPlayerCharacter.Race.Languages, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
|                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedRace.Languages}" IsVisible="{Binding SelectedRace.Languages, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> |                         <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Languages}" IsVisible="{Binding SelectedPlayerCharacter.Race.Languages, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> | ||||||
| 
 | 
 | ||||||
|                     </StackLayout> |                     </StackLayout> | ||||||
|                 </Frame> |                 </Frame> | ||||||
|  | @ -69,9 +69,9 @@ | ||||||
|     <ContentPage Title="Classe"> |     <ContentPage Title="Classe"> | ||||||
|         <ScrollView Orientation="Vertical"> |         <ScrollView Orientation="Vertical"> | ||||||
|             <StackLayout> |             <StackLayout> | ||||||
|                 <views:ItemPickerView BindingContext="{Binding}" Title="Classe" ItemsSource="{Binding Classes.Result}" SelectedItem="{Binding SelectedClass, Mode=TwoWay}" /> |                 <views:ItemPickerView BindingContext="{Binding}" Title="Classe" ItemsSource="{Binding Classes.Result}" SelectedItem="{Binding SelectedPlayerCharacter.Class, Mode=TwoWay}" /> | ||||||
|                 <!--<Picker Title="Classe" HorizontalOptions="FillAndExpand" IsEnabled="{Binding Classes.IsSuccessfullyCompleted}" ItemsSource="{Binding Classes.Result}" ItemDisplayBinding="{Binding Name}"  SelectedIndex="{Binding ClassSelectedIndex, Mode=TwoWay}" />--> |                 <!--<Picker Title="Classe" HorizontalOptions="FillAndExpand" IsEnabled="{Binding Classes.IsSuccessfullyCompleted}" ItemsSource="{Binding Classes.Result}" ItemDisplayBinding="{Binding Name}"  SelectedIndex="{Binding ClassSelectedIndex, Mode=TwoWay}" />--> | ||||||
|                 <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedClass.Markdown}" /> |                 <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Class.Markdown}" /> | ||||||
|             </StackLayout> |             </StackLayout> | ||||||
|         </ScrollView> |         </ScrollView> | ||||||
|     </ContentPage> |     </ContentPage> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez