2016-08-27 10 views
1

次のコードでVisual Studio 2015 PCLを使用して、Label FormattedTextをviewmodelのプロパティにバインドし、ボタンを選択するとプロパティ値が変更されます。このコードはAndroidでうまくいきますが、勝利10では更新されません。まだ試したことはありません。勝利10では、ラベルが最初に評価されたときに正常に動作しますが、ボタンを選択すると変更されません。プロパティの変更とプロパティの変更が表示されますが、ビューは更新されません。私のコードが間違っているか、これが勝つためのバグかどうか私に教えてください10.あなたの助けに感謝します。XamarinはuwpのFormattedTextバインディングを更新しません

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; 
} 

答えて

1

これは、LabelRenderer for WinRTのバグです。回避策として、Label.Textプロパティを変更してFormattedTextを更新することができます。 私はそれを修正しようとしましたmy pull request

+0

これは完全に機能します。私の問題を完全に解決しました。ありがとうございました! – MV12

0

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

は、あなたはそれが私はあなたがあなたのカスタムラベルの宣言に問題があると思う働いていた場合、通常のラベルの代わりに、カスタムラベルに同じ結合を試すことができます。

+0

私のカスタムラベルの代わりにラベルを使用しようとしましたが、私は同じ結果を得ました。ラベル表示テキストに変更はありません。また、FormattedTextをTextに変更し、FormattedStringを文字列に変更しました。もちろん、テキストはフォーマットされていません。 – MV12

+0

ラベルの高さと幅を固定して追加することができます。テストのために、ラベルの高さや幅が小さいか、ラベルの両方が原因で問題が発生している可能性があります。 – MohamedHamza

+0

BindableLabelとLabelで高さと幅(WidthRequest = "600" HeightRequest = "2000")を設定しても、同じ結果が得られます。この問題は、電話とデスクトップの勝利10で発生しています。 – MV12

関連する問題