私はファイルのリストを持っている小さなWPFアプリケーションを持っています。ファイルのリストの下に「アップロード」ボタンがあります。アップロードボタンのテキストに「Upload x files」と表示させてください。ここで、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'のバインディングは役に立たないので、コード内の割り当てで上書きします。 –
Ok - 削除しました。 – dan