2012-07-27 60 views
0

我想動態地在userControl上做columnSpan。我創建了轉換器類,但它不起作用。你會告訴我如何正確地做到這一點?謝謝。爲columnSpan製作轉換器

在我的用戶代碼:

<TextBlock x:Name="txtSumary" Grid.Row="0" Grid.Column="1" Text="{Binding summary}"   
    TextWrapping="Wrap" Style="{StaticResource PhoneTextAccentStyle}" Grid.ColumnSpan="{Binding isSpan, Converter={StaticResource ColumSpanConverter}}" /> 

這是對UserControl.Resources參考

<local:VisibilityConverter x:Key="ColumSpanConverter"/> 

還有就是轉換器類:

public class ColumSpanConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    {   
     bool isSpan = (bool)value; 
     return isSpan ? 2 : 0; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     throw new NotSupportedException(); 
    } 
} 

回答

1

該轉換器引用錯誤的轉換器:

<local:VisibilityConverter x:Key="ColumSpanConverter"/> 

應該是:

<local:ColumSpanConverter x:Key="ColumSpanConverter" /> 
+0

感謝指出我的錯誤。另外我發現我應該在Convert函數中返回1而不是0。 – user819774 2012-07-30 16:32:30