2016-08-27 2 views
1

ich mit dem folgenden Code Visual Studio 2015 PCL bin mit einem Etikett FormattedText auf eine Eigenschaft in Ansichtsmodell und der Eigenschaftswert ändert zu binden, wenn eine Schaltfläche ausgewählt ist. Dieser Code funktioniert gut in Android, aber wird nicht in gewinnen 10. Ich habe noch nicht versucht, ios. In Win 10, wenn das Label zuerst bewertet wird, funktioniert es gut, ändert sich aber nicht, wenn die Schaltfläche ausgewählt wird. Ich kann sehen, dass die Eigenschaft geändert und die Eigenschaft geändert wird, aber die Ansicht nicht aktualisiert wird. Bitte lassen Sie mich wissen, wenn mein Code falsch ist oder dies ein Fehler für Gewinn 10 ist. Danke für Ihre Hilfe.Xamarin Formen FormattedText nicht bindend für UWP Aktualisierung

XAML <local:BindableLabel x:Name="labelInformation" Style="{StaticResourceLabelInformationStyle}" Height="{Binding InformationDisplayHeight}" FormattedText="{Binding InformationData}" IsVisible="{Binding VisibleInformation}"/>

viewmodel 
private FormattedString informationData; 
public FormattedString InformationData 
{ 
    get 
    { 
     return informationData; 
} 

    set 
    { 
    if (value != informationData) 
    { 
     informationData = value; 
     OnPropertyChanged(); 
    } 
    } 
} 

private void InformationSelected() 
{ 
    InformationData = informationFormattedString(informationString)); 
    VisibleInformation = true; 
} 

private FormattedString informationFormattedString(string string1) 
{ 
    FormattedString formattedString = new FormattedString(); 

    //define formatted string using string1 

    return formattedString; 
} 

Antwort

1

Dies ist ein Fehler in LabelRenderer für WinRT. Um dieses Problem zu umgehen, können Sie die Label.Text-Eigenschaft zum Aktualisieren von FormattedText ändern. Ich habe versucht, es in my pull request

+0

Das funktioniert perfekt. Komplett behoben mein Problem. Vielen Dank! – MV12

0

Können Sie versuchen, auf normales Etikett statt Ihrem benutzerdefinierten Etikett gleiche Bindung, wenn es funktionierte ich glaube, Sie haben ein Problem auf Ihrer Erklärung benutzerdefinierte Beschriftung.

+0

Vielen Dank für Ihren Vorschlag, aber ich habe bereits versucht, ein Label anstelle meiner benutzerdefinierten Label zu verwenden, und ich bekomme die gleichen Ergebnisse, keine Änderung in der Beschriftung Display Text. Außerdem habe ich den formatierten Text in Text und den formatierten String in String geändert und es wird perfekt aktualisiert, außer dass der Text natürlich nicht formatiert ist. – MV12

+0

können Sie eine feste Höhe und Breite für Ihr Etikett hinzufügen, nur für den Test könnte das Problem auf kleine Höhe oder Breite oder beides für das Etikett zurückzuführen sein. – MohamedHamza

+0

habe ich die Höhe und Breite (WidthRequest = „600“ HeightRequest = „2000“) mit BindableLabel und Etiketten- und ich immer noch die gleichen Ergebnisse erhalten. Dieses Problem tritt bei Win 10 Telefon und Desktop auf. – MV12

Verwandte Themen