0
我有一個綁定列表與INotifyPropertyChanged接口。事情工作正常。 此綁定列表是綁定到列表框的文件名列表。我只想顯示名稱,而不是整個路徑,但是當我選擇文件名並加載文件時,我需要整個路徑。IValueConverter並轉換綁定列表的所有值
我正在使用IValueConverter用於此目的,其中使用Path.GetFileName屬性來更改文件名的完整路徑。綁定是正確的,但是我的綁定列表不會根據我的需要更改值。我在下面粘貼IValueConverter代碼。請讓我知道這段代碼有什麼問題。我提到轉換here。
[ValueConversion(typeof(string), typeof(string))]
public class pathtoname : IValueConverter
{
public object Convert(object value, Type targetType, object parameter ,CultureInfo culture)
{
BindingList<string> ls = value as BindingList<string>;
ls.Select(x => "WW");
return ls;//all values should be WW. But they are not.(debugger)
}
public object ConvertBack(object value, Type targetType, object parameter,CultureInfo culture)
{
return null;
}
}
編輯:值現在轉換。但現在如何找回整個路徑?我應該保留2個列表嗎?一個用於完整路徑,另一個用名稱如here。有更好的解決方案
好的。那工作。但我現在又有了另一個概率。我的加載文件丟失完整路徑。有關如何保持完整路徑但只顯示文件名的提示? – Naresh
要獲取文件名,您可以嘗試從Path靜態類中查看GetFileName方法:http://msdn.microsoft.com/en-us/library/system.io.path.getfilename.aspx –
啊,我知道。從文件名,我想要去一個完整的路徑,所以我可以通過另一個功能傳遞文件。但轉換器丟失了信息。 – Naresh