2017-03-04 1 views
2

Als MSDN says, TargetNullValue:Warum kann TargetNullValue nicht in x: Bind verwendet werden?

Specifies a value to display when the source value resolves but is explicitly null.

Mit alten Bindung so etwas wie dies möglich war, und arbeitete:

<Grid Visibility="{Binding Something, Converter={StaticResource myconv}, TargetNullValue='Collapsed'}"> 

Aber es ist nicht möglich, mit x:Bind - wenn wir schreiben:

<Grid Visibility="{x:Bind Something, Converter={StaticResource myconv}, TargetNullValue='Collapsed'}"> 

wir wird wahrscheinlich Fehler erhalten:

TargetNullValue cannot be applied on 'Visibility' because its type 'Visibility' is not nullable.

Was für mich macht nicht viel Sinn - warum ist das?

+0

Sie haben den Nullwert in dem Konverter zu handhaben. –

+0

@ TóthTibor Ja, mit Converter zu arbeiten ist was ich schon mache, es macht nur * TargetNullValue * nutzlos, da man es nicht benutzen kann, wenn es eindeutig möglich sein sollte. – Romasz

Antwort

1

Which for me doesn't make much sense - why is that?

Nach dem documentation{x:Bind} einige der Features von {Binding} fehlt“ und anscheinend ist dies einer von ihnen.

Anscheinend TargetNullValue kann nicht für einen Wert Typ Zieleigenschaft angegeben werden.

Aber man konnte leicht dies in Ihrer Konverter handhaben, so dass es so viel ein Problem sein sollte.

Man konnte immer dies auf Uservoice bringen, wenn Sie wollen: https://wpdev.uservoice.com/forums/110705-universal-windows-platform

+0

Das war, wovor ich Angst hatte, obwohl es nicht die Tatsache ändert, dass es für mich keinen Sinn ergibt. Trotzdem habe ich [auf Uservoice veröffentlicht] (https://wpdev.uservoice.com/forums/110705-universal-windows-platform/suggestions/18521620-remove-type-check-from-x-bind-targetnullvalue). – Romasz

Verwandte Themen