2014-01-15 71 views
0

我有一個GridView,其中某些元素綁定到了我的對象。在那裏我工作的價值是這樣的:如果符合條件,則在XAML GridViewColumn中隱藏一些值

<GridViewColumn x:Name="DataGridLastEdit" Header="Last Edit" Width="150px" DisplayMemberBinding="{Binding lastEdit}" /> 

lastEditDateTime類型,但對於某些元素的空的,它顯示1/1/0001 12:00:00 AM(它可以改變基於在計算機時間格式設置),造成一個非常醜陋的效果。

我只是想隱藏它沒有有效日期的元素,但我對XAML很新,但我不能那樣做。我讀過關於使用轉換器,但我總是寫一些錯誤,甚至無法嘗試,如果它的工作,我該怎麼做?

+1

是的,你應該使用綁定轉換器。 [Here](http://msdn.microsoft.com/zh-cn/library/system.windows.data.binding.converter.aspx)就是一個例子。 – Clemens

回答

1

使用ValueConverter

public class EmptyDateCoverter: IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
    { 
     if(value is DateTime) 
     { 
      if((DateTime)value == DateTime.MinValue) 
      { 
       return ""; 
      } 
     } 
     return value; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
    { 
     //We don't need convert back 
     throw new NotImplementedException(); 
    } 
} 

創建在控制的資源(轉化爲在轉換器定義alias for the namespace

<conv:EmptyDateCoverter x:Key="EmptyDate" /> 

轉換器,例如資源,然後應用結合這樣:

<GridViewColumn x:Name="DataGridLastEdit" Header="Last Edit" Width="150px" DisplayMemberBinding="{Binding lastEdit, Converter={StaticResource EmptyDate}}" /> 
+0

謝謝,它完美無瑕! :) – HypeZ

+0

@HypeZ高興地幫助 – Alberto

+0

我知道這不是正確的方式來問這個,但是,你有什麼想法如何解決這個問題? Grazie mille! :) http://stackoverflow.com/questions/20971127/get-file-path-for-drag-n-drop-file-on-windows-explorer – HypeZ

相關問題