我正在使用BooleanToVisibilityConvertor來處理ListBox DataTemplate中的TextBlock的可見性。我可以申報多個轉換器嗎? WP8
這裏是我的XAML代碼:
<phone:PhoneApplicationPage.Resources>
<Converters:BooleanToVisibilityConvertor x:Key="booleanToVisibilityConvertor"/>
</phone:PhoneApplicationPage.Resources>
<TextBlock Grid.Row="2" HorizontalAlignment="Right" Padding="0,0,7,0" Visibility="{Binding AverageConsumption, Converter={StaticResource booleanToVisibilityConvertor}}">
<Run Text="{Binding AverageConsumption}"/>
<Run Text="l./100 km."/>
</TextBlock>
而後面的代碼:
public class BooleanToVisibilityConvertor : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
{
if (value != null)
{
if (!string.IsNullOrEmpty(value.ToString()))
{
return Visibility.Visible;
}
}
return Visibility.Collapsed;
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
這是工作正確的,但我需要一個更(逆轉)轉換器用於放置在相同的另一個TextBlock的當{Binding AverageConsumption}不爲空或空時,第一個TextBlock將是易分解的,第二個將會被摺疊,反之亦然,所以當使用靜態文本=「Partial Refueling」時,位置(Grid.Row =「2」HorizontalAlignment =「Right」事情是這樣的:
class BooleanToVisibilityConvertorReversed : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
{
if (value != null)
{
if (!string.IsNullOrEmpty(value.ToString()))
{
return Visibility.Collapsed;
}
}
return Visibility.Visible;
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
我曾嘗試聲明另一個轉換器在XAML: '類型的第一次機會異常' System.Windows:
<phone:PhoneApplicationPage.Resources>
<Converters:BooleanToVisibilityConvertor x:Key="booleanToVisibilityConvertor"/>
<Converters:BooleanToVisibilityConvertorReversed x:Key="booleanToVisibilityConvertorReversed"/>
</phone:PhoneApplicationPage.Resources>
但上的InitializeComponent()有一個例外。 Markup.XamlParseException'發生在System.Windows.ni.dll' 我該如何解決這個問題?
你爲什麼認爲這條線是罪魁禍首? – ixSci
我認爲原因在這裏: 它只是不能初始化頁面。我已經刪除了其他轉換器,並試圖只用這個,但仍然有相同的例外。 –
如果你刪除它的錯誤將會消失?也許有一些隱藏的符號在那裏?嘗試重新輸入它,但我仍然使用智能感知幫助 – ixSci