私はリストビューを持ち、そのアイテムソースは不可視のObservable Collectionプロパティにバインドされています。 私の質問は、そのリストビューが存在するPageクラスの外でそのコレクションにアクセスしたり、そのコレクションを変更する方法です。 私は他のページからそのListViewに新しい項目を変更したり追加したりしたいので、そのコレクションを外部に変更したいと思います。UWP ListViewバインディングを変更する方法Observable Colletion(ページクラス外)
0
A
答えて
2
私はこの問題をApp.xaml.cs.xのstaticプロパティで解決しています。 リポジトリ/コレクションには、必要なページからアクセスできます。 私はページに移動するたびに、私のバインドされたプロパティを通じてApp.MyCollectionにアクセスします。
ゲッターが新しいObervableCollection(App.MyCollection)を作成するプロパティを作成できます。 現在のプライベートメンバーがnullの場合。
App.xaml.cs
private static IEnumerable<OrderHistory> _orderHistory;
public static IEnumerable<OrderHistory> OrderHistory
{
get
{
if (_orderHistory == null)
_orderHistory = new ObservableCollection<OrderHistory>();
return _orderHistory;
}
set
{
if (_orderHistory != value)
_orderHistory = value;
}
}
}
あなたは、リスト内のクラスのプロパティに何かを変更したい場合は、その後、単にアプリケーションでそれをCodeBehind.xaml.cs
private ObservableCollection<OrderHistory> _orderHistoryList;
public ObservableCollection<OrderHistory> OrderHistoryList
{
get
{
if (_orderHistoryList == null)
_orderHistoryList = new ObservableCollection<OrderHistory>(App.WorkOrderHistory);
return _orderHistoryList;
}
}
にアクセス.OrderHistory。
ザ・だけで、あなたのOrderHistoryクラスであるの世話をする必要があると思う:私はまさにあなたが提案しているWHT得ていないのです
public class OrderHistory : INotifyPropertyChanged
{
private bool _isAvailable;
public bool IsAvailable {
get
{
return _isAvailable;
}
set
{
if(_isAvailable != value)
{
_isAvailable = value;
this.NotifyPropertyChanged();
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
関連する問題
- 1. UWP印刷方法ListView ItemTemplate
- 2. バインディングにタイマを追加する方法wpf uwp C#
- 3. UWP ListView ItemClick
- 4. UWPセマンティックズーム、ListView、VisualState
- 5. シングルトンクラスへのバインディングObservable Collection Member
- 6. C#/ UWP OutOfMemory変更時ListViewから水平
- 7. uwp win10 Listview SelectedItem Style
- 8. 合成音声言語UWPの変更方法は?
- 9. Xamarinフォーム、UWPでlistViewを更新するには
- 10. XAMLのApp.configでのUWPバインディング
- 11. GridViewItem UWPアプリケーションのIsSelectedバインディング
- 12. UWPの表示色を変更する
- 13. WPF ValidatesOnExceptionバインディングでメッセージ(または例外)を変更する
- 14. ListViewフォントの色を変更する方法?
- 15. ListView xamlではなくcodebehindでItemsPanelを変更する方法
- 16. AndroidのListViewで子のレイアウトパラメータを変更する方法は?
- 17. ListViewでButtonのソースを変更する方法は?
- 18. UWPデータバインドでコンテンツにアクセスするListView
- 19. Windows 10でイメージをコピーおよびサイズ変更する方法UWP
- 20. ManytoOne Array Colletion/Formbuilderの特定の値を除外します
- 21. RxでSKPaymentQueueをラップする方法Observable
- 22. wcf - wsdlポートタイプとバインディングを変更する
- 23. ループ内のngModelバインディングを変更する
- 24. Observableサブスクリプションに変数参照を渡す方法
- 25. 方法の変更ListViewのスクロールカラーはありますか?
- 26. librsvg Pythonバインディングを使用してsvgイメージファイルのサイズを変更する方法
- 27. C#UWPスタイルをプログラム的に変更
- 28. androidのlistviewの最初の項目をクリックしてlistviewの項目を変更する方法
- 29. ListViewの変更行
- 30. バインディング値に応じてWPFデータグリッド行の画像を変更する方法
、あなたはいくつかのコードでそれをしてください明確にすることができますか?ありがとう。 P.S:私は静的なパブリックプロパティを作成しようとし、そのプライベートコレクションを割り当てました。そして、私はそれに変更を加えましたが、変更は静的なプロパティでのみ発生し、私のListViewのアイテムは更新されていません。 –
投稿を編集しました。これがあなたを助けるかどうか見てください。 – wuerzelchen
ありがとう、それは理解しやすいとそれは私を助けた:) –