I am wondering if anyone has seen behavior like this.
I am using MVVM and Prism as well.
Everything appears totally fine and the Provider gives the list of items to select from and works perfectly ... on the first selection.
The remaining selections do not update the form (Set is never called).
If you force a page refresh (change device orientation) everything updates correctly, set is called and you are good again ... for ONE selection.
Then you are back in the same boat.
Any help appreciated.
8 Answers, 1 is accepted
I created a sample program and while doing that discovered a wrinkle.
I created a ticket in your system and attached the sample program.
Mike
I can confirm that this is an issue in our DataForm implementation for Android. It seems like the problem is reproducible when the DataForm is nested inside multiple layouts. I have logged a Bug Report in our backlog about this behavior. Here is a link to the public item in our Feedback Portal where you can track the progress on the matter.
I hope I've been helpful.
Regards,
Nikolay
Progress Telerik
Hi Nickolay
Your workaround does not appear to work for me. I have the following xaml and have I've tried VerticalOptions at all levels as well as individual levels.
Cheers
Craig
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
ContentPage
xmlns
=
"http://xamarin.com/schemas/2014/forms"
xmlns:input
=
"clr-namespace:Telerik.XamarinForms.Input;assembly=Telerik.XamarinForms.Input"
xmlns:dataForm
=
"clr-namespace:Telerik.XamarinForms.Input.DataForm;assembly=Telerik.XamarinForms.Input"
x:Class
=
"ccnz.mobile.Pages.LoanApplication.ExpensesPage"
>
<
ContentPage.Content
>
<
ScrollView
VerticalOptions
=
"FillAndExpand"
>
<
StackLayout
VerticalOptions
=
"FillAndExpand"
>
<
Label
Text
=
"Financial Expenses"
/>
<
input:RadDataForm
x:Name
=
"ExpensesDataForm"
Source
=
"{ Binding Expenses }"
VerticalOptions
=
"FillAndExpand"
>
<
input:RadDataForm.GroupLayoutDefinition
>
<
dataForm:DataFormGroupGridLayoutDefinition
/>
</
input:RadDataForm.GroupLayoutDefinition
>
</
input:RadDataForm
>
<
StackLayout
Orientation
=
"Horizontal"
Margin
=
"10, 0, 10, 0"
>
<
Button
Text
=
"Previous"
Clicked
=
"PreviousButtonClicked"
HorizontalOptions
=
"FillAndExpand"
/>
<
Button
Text
=
"Next"
Clicked
=
"NextButtonClicked"
HorizontalOptions
=
"FillAndExpand"
/>
</
StackLayout
>
</
StackLayout
>
</
ScrollView
>
</
ContentPage.Content
>
</
ContentPage
>
I have a similarly designed form and am finding the same thing.
Mike
The bug is already logged at our end. After some further tests it seems that the issue is not present in the following setup:
<
ContentPage.Content
>
<
ScrollView
VerticalOptions
=
"FillAndExpand"
HorizontalOptions
=
"CenterAndExpand"
>
<
StackLayout
VerticalOptions
=
"FillAndExpand"
>
<
Label
Text
=
"Financial Expenses"
/>
<
input:RadDataForm
x:Name
=
"ExpensesDataForm"
Source
=
"{ Binding Expenses }"
VerticalOptions
=
"FillAndExpand"
>
<
input:RadDataForm.GroupLayoutDefinition
>
<
dataForm:DataFormGroupGridLayoutDefinition
/>
</
input:RadDataForm.GroupLayoutDefinition
>
</
input:RadDataForm
>
<
StackLayout
Orientation
=
"Horizontal"
Margin
=
"10, 0, 10, 0"
>
<
Button
Text
=
"Previous"
Clicked
=
"PreviousButtonClicked"
HorizontalOptions
=
"FillAndExpand"
/>
<
Button
Text
=
"Next"
Clicked
=
"NextButtonClicked"
HorizontalOptions
=
"FillAndExpand"
/>
</
StackLayout
>
</
StackLayout
>
</
ScrollView
>
</
ContentPage.Content
>
You can notice that I've added HorizontalOptions="CenterAndExpand" to the outer layout - in your case that is the ScrollView. You can give it a try at your end, however, we have not fully tested it, so it might have some flaws as well.
Regards,
Nikolay
Progress Telerik
I modified mine to be closer to this new example and I appear to be in much better shape than before.
Thanks Nikolay.
Thanks Nickolay. My data form appears to be behaving itself now too.
Cheers
Craig
I am glad to see that the provided solution works for you. If you need some additional information do not hesitate to write back.
Regards,
Nikolay
Progress Telerik