簡體   English   中英

WPF Textblock TargetNullValue不起作用?

[英]WPF Textblock TargetNullValue not working?

我有一個wpf文本塊,如下所示:

<TextBlock Text="{Binding [someViewModel].SomeVar.SomeSubVar.Name, 
                          TargetNullValue='-'}"/>

在我的viewmodel方面,我將擁有自己的邏輯,最終, SomeVar.SomeSubVar將為null。

如果我想顯示此TextBlock的默認值,我知道我可以聲明並啟動SomeVar.SomeSubVar並將默認值分配給SomeVar.SomeSubVar.Name但我想使用TargetNullValue 我可以知道哪一部分是錯的嗎?

您可以使用FallbackValue http://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.fallbackvalue(v=vs.110).aspx與TargetNullValue一起使用。

為了使TargetNullValue起作用,您必須能夠將[someViewModel] .SomeVar.SomeSubVar.Name的完整路徑評估為null。 如果'someViewModel','SomeVar'或'SomeSubVar'為null,則永遠不會評估'Name',並且不會應用TargetNullValue。

如果[somveViewModel].SomeVar.SomeSubVar.Name屬性為null,則Binding's TargetNullValue屬性顯示在TextBlock 它沒有[somveViewModel].SomeVar.SomeSubVar.Name屬性的值。 它有效地設置null和TargetNullValue屬性值之間的等效性。

請參閱此問題以獲得更好的解釋。

所以我的建議是如果你想要一個非空的默認值,你需要在視圖模型中設置它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM