Size: a a a

Xamarin Developers

2021 January 17

IS

Ilya Sarzhanov in Xamarin Developers
На подобие этого будет
источник

M

Musa in Xamarin Developers
Ilya Sarzhanov
еееепттт, выглядит прикольно)))
источник

M

Musa in Xamarin Developers
Ilya Sarzhanov
Просто кривые в svg можно сделать через кривые 3 4 порядка красивей будет
а есть пример кода?
источник

M

Musa in Xamarin Developers
я попробую по приколу это реализовать
источник

IS

Ilya Sarzhanov in Xamarin Developers
Musa
еееепттт, выглядит прикольно)))
<Grid>
                       <Path  Margin="0,0,-1,0"
                 StrokeThickness="1"
                 Aspect="UniformToFill"
                 Fill="black"    
                       HeightRequest="75"
                 HorizontalOptions="FillAndExpand"                
                      Data="M 0 0 L 37 0 Q 96 0 108 23 C 115 37 136 35 141 23 Q 151 0 211 -1 H 250 V 62 L 0 61 Z"
                       />
                       <StackLayout                                
             
                    BackgroundColor="Transparent"  VerticalOptions="Start" Margin="0,10,0,0" Padding="5">

                           <Label Text="{Binding TotalInfo}" TextColor="White" FontAttributes="Bold" FontSize="11" Padding="2,2,1,1" />
                           <BoxView HorizontalOptions="FillAndExpand" Color="White" HeightRequest="1" Margin="0" IsVisible="False"/>
                           <Label Text="{Binding TotalInfoImages , StringFormat='Info: {0}' , TargetNullValue='---'}" TextColor="White" FontAttributes="Bold" FontSize="11"  Padding="3,1,1,1" VerticalOptions="EndAndExpand" />


                       </StackLayout>
                 

                           <ImageButton Source="add_new_70.png" WidthRequest="65" HeightRequest="65"  BackgroundColor="Transparent"
                            VerticalOptions="Start"
                           
                            Margin="0,-13,0,0"
                           
                           
                          Clicked="ImageButton_Clicked"
                          HorizontalOptions="Center"
                        />
                     
                   </Grid>
источник

PN

Paul N in Xamarin Developers
Проблема с Navigate как минимум в том, что по кр. мере на мобиле это гарантированно создает новый экземпляр ViewModel, еще до того, как управление перейдет к презентеру. Вообще, дилемма наверное сводится к Navigate() vs ChangePresentation(). Придется пилить свой презентер.
источник

M

Musa in Xamarin Developers
Ilya Sarzhanov
<Grid>
                       <Path  Margin="0,0,-1,0"
                 StrokeThickness="1"
                 Aspect="UniformToFill"
                 Fill="black"    
                       HeightRequest="75"
                 HorizontalOptions="FillAndExpand"                
                      Data="M 0 0 L 37 0 Q 96 0 108 23 C 115 37 136 35 141 23 Q 151 0 211 -1 H 250 V 62 L 0 61 Z"
                       />
                       <StackLayout                                
             
                    BackgroundColor="Transparent"  VerticalOptions="Start" Margin="0,10,0,0" Padding="5">

                           <Label Text="{Binding TotalInfo}" TextColor="White" FontAttributes="Bold" FontSize="11" Padding="2,2,1,1" />
                           <BoxView HorizontalOptions="FillAndExpand" Color="White" HeightRequest="1" Margin="0" IsVisible="False"/>
                           <Label Text="{Binding TotalInfoImages , StringFormat='Info: {0}' , TargetNullValue='---'}" TextColor="White" FontAttributes="Bold" FontSize="11"  Padding="3,1,1,1" VerticalOptions="EndAndExpand" />


                       </StackLayout>
                 

                           <ImageButton Source="add_new_70.png" WidthRequest="65" HeightRequest="65"  BackgroundColor="Transparent"
                            VerticalOptions="Start"
                           
                            Margin="0,-13,0,0"
                           
                           
                          Clicked="ImageButton_Clicked"
                          HorizontalOptions="Center"
                        />
                     
                   </Grid>
а что в этой строке написано?
источник

IS

Ilya Sarzhanov in Xamarin Developers
это svg
источник

M

Musa in Xamarin Developers
Ilya Sarzhanov
это svg
👌понял, спасибо
источник

IS

Ilya Sarzhanov in Xamarin Developers
Musa
👌понял, спасибо
https://yqnn.github.io/svg-path-editor/ можете прям тут все углы прорисовать
источник

M

Musa in Xamarin Developers
Ilya Sarzhanov
https://yqnn.github.io/svg-path-editor/ можете прям тут все углы прорисовать
АФИГЕТЬ КАК ЭТО КРУТО!!!!! простите за капс
источник

I

Ivan M in Xamarin Developers
Paul N
Проблема с Navigate как минимум в том, что по кр. мере на мобиле это гарантированно создает новый экземпляр ViewModel, еще до того, как управление перейдет к презентеру. Вообще, дилемма наверное сводится к Navigate() vs ChangePresentation(). Придется пилить свой презентер.
спасибо, Presenter уже пилю – встроенный у мака очень простой в целом и не годится для мульти-оконных аппов в принципе

прошёлся по стеку вызовов после Navigate и, по идее, можно перехватить на уровне MvxViewModelLoader
источник

I

Ivan M in Xamarin Developers
но так-то можно и до вызова Navigate() определять открыта ли модель – хочу понять что будет наиболее ортодоксальным подходом с точки зрения фреймворка
источник

PN

Paul N in Xamarin Developers
Ivan M
но так-то можно и до вызова Navigate() определять открыта ли модель – хочу понять что будет наиболее ортодоксальным подходом с точки зрения фреймворка
в целом, по-кроссовски хранить state навигации именно в презентере, я полагаю. Значит там надо держать слабые ссылки на уже открытые окна и тд.
источник

I

Ivan M in Xamarin Developers
маковский MvvmCross уже работает через список открытых окон – я их туда даже дописывал в PR пару месяцев назад потому что системный список окон на Маке нельзя трогать, он течёт памятью лол

по идее тогда нужно всю навигацию делать через ChangePresentation с Hint'ом в котором будет описание что именно нужно, а исходя из этого уже решать создавать ли VM запрошенную или взять имеющуюся

но получается что Navigate теряется в принципе потому что к тому времени как он дойдёт до презентера экземпляр VM уже создан и приложен в запросе на навигацию
источник

PN

Paul N in Xamarin Developers
Ivan M
маковский MvvmCross уже работает через список открытых окон – я их туда даже дописывал в PR пару месяцев назад потому что системный список окон на Маке нельзя трогать, он течёт памятью лол

по идее тогда нужно всю навигацию делать через ChangePresentation с Hint'ом в котором будет описание что именно нужно, а исходя из этого уже решать создавать ли VM запрошенную или взять имеющуюся

но получается что Navigate теряется в принципе потому что к тому времени как он дойдёт до презентера экземпляр VM уже создан и приложен в запросе на навигацию
ну всё так, да. Если это не подходит, надо пойти к самым базовым интерфейсам и накодить всё своё с нуля, например свою реализацию IMvxNavigationService, где Navigate() будет работать по другому.
источник

PN

Paul N in Xamarin Developers
да и презентер можно с нуля написать, не на базе Attributes даже
источник

I

Ivan M in Xamarin Developers
Attributes на десктопе тоже быстро начинают путаться под ногами если нужно несколько окон

эх
начинает хотеться сделать как MvvmCross, но в два раза меньше – ровненько чтоб биндинги и какой-то простой протокол скармливания моделей презентерам )
источник

PN

Paul N in Xamarin Developers
Ivan M
Attributes на десктопе тоже быстро начинают путаться под ногами если нужно несколько окон

эх
начинает хотеться сделать как MvvmCross, но в два раза меньше – ровненько чтоб биндинги и какой-то простой протокол скармливания моделей презентерам )
Ну вот, значит или от MvxViewPresenter или от IMvxViewPresenter идти
источник

PN

Paul N in Xamarin Developers
Ivan M
Attributes на десктопе тоже быстро начинают путаться под ногами если нужно несколько окон

эх
начинает хотеться сделать как MvvmCross, но в два раза меньше – ровненько чтоб биндинги и какой-то простой протокол скармливания моделей презентерам )
по второму абзацу — мб рассмотреть RxUI
источник