2009-10-30 108 views

回答

6

實際上,你可以使用單引號內聯傳遞一個空字符串,如下所示:

<ContentControl Content="{Binding Converter={StaticResource someConverter}, ConverterParameter=''}" /> 
2

而不是定義在一行中綁定的:

<Control Binding={Property, Converter={StaticResource someConverter}, ConverterParameter={StaticResource someParameter}} /> 

你可以將其定義多行,並指定個別屬性:

<Control> 
    <Control.Binding> 
     <Binding Path="Property" Converter="{StaticResource someConverter}" ConverterParameter="" /> 
    </Control.Binding> 
</Control> 

相當肯定會做你在做什麼尋找。

6

如果要內聯執行此操作,可以使用靜態String.Empty屬性。您需要爲clr-namespace添加一個名稱空間定義:System來使用它。

在窗口定義(或任何控制你正在使用):

xmlns:System="clr-namespace:System;assembly=mscorlib" 

然後你可以使用這樣的事情:

<ContentControl Content="{Binding Converter={StaticResource someConverter}, ConverterParameter={x:Static System:String.Empty}}" /> 
+2

個人而言,我認爲這比使用多行版本更好一些,因爲人們傾向於ee Converter =「」作爲一個未設置的屬性(可能是在重構過程中被設置並遺漏的一個屬性)並將其刪除。 – 2009-10-30 14:48:06

相關問題