我有一個小的WPF應用程序,其中有一個文件列表。在文件列表下方,我有一個「上傳」按鈕。我希望上傳按鈕中的文本顯示「上傳x個文件」,其中x是列表中的項目數量。爲什麼我的轉換器(基於ListView.ItemsSource)不被調用?
我正在使用一個轉換器,它將ItemsSource屬性作爲輸入並返回字符串,但是如果我添加或從列表視圖中刪除項目(即它是基礎集合),則不會調用按鈕綁定上的轉換器。
我在做什麼不正確?
我有基類:
public class FileItem : INotifyPropertyChanged { ... }
而且一個ObservableCollection:
public class Files : ObservableCollection<FileItem> {}
的我收集分配到ListView。
lvw_FileList.ItemsSource = new Files();
ListView有它的ItemSource屬性綁定。
<ListView x:Name="lvw_FileList" ItemsSource="{Binding Mode=OneWay}">
...
</ListView>
文本內容需要按鈕的按鈕基於ListView.ItemsSource。
<Button Content="{Binding ElementName=lvw_FileList, Path=ItemsSource, Converter={StaticResource UpdateButtonConverter}}" x:Name="btn_Upload" />
「ListView.ItemsSource」的綁定沒用,你用代碼中的賦值覆蓋它。 –
好的 - 已刪除。 – dan