[英]Why does bool work for visibility without a converter when using traditional binding
我之前和之前創建並使用bool到可見性轉換器,我忘了在綁定上使用轉換器(我正在使用傳統綁定)。 我將視圖中控件的visibility屬性綁定到視圖模型中的bool屬性,令人驚訝的是它可以工作。 所以我的問題是,如果它適用於傳統綁定,為什么我們需要使用轉換器? 因為看起來編譯器正在為我做轉換。
我在Visual Studio Update 3中的UWP應用程序上測試了它。最小應用程序目標是10.0.10586目標版本是10.0.14393
有趣。 這一直是一種痛苦,似乎沒有太多宣傳就修好了,我不知道這一點。
在WPF中,您總是必須使用ValueConverter,因為Visibility不是bool。
我剛從項目中的{x:Bind ...}
中刪除了一個BooleanToVisibility轉換,實際上它仍然有效。 我從生成的代碼中挖出了這個:
private void Update_ViewModel_ShowMessage(global::System.Boolean obj, int phase)
{
...
this.Update_ViewModel_ShowMessage_Cast_ShowMessage_To_Visibility(
obj ? global::Windows.UI.Xaml.Visibility.Visible
: global::Windows.UI.Xaml.Visibility.Collapsed
, phase);
...
}
顯然它現在已經內置了。
更新:
對於{x:Bind }
它在這里宣布,作為周年紀念更新的一部分。 而你確實需要針對14393或更高版本。 對於舊版本,它僅適用於{Binding ...}
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.