全て
| カテゴリ未分類
| 通常
| 数学
| 投資
| 副業
| 転職・就職
| ブログ
| 株Stock
| VBA
| SharePoint
| REST API
| RenderListDataAsStream
| PowerAutomateDesktop
| Graph API
| PowerApps
| PowerAutomate
| PowerFx
| OfficeScriptオフィススクリプト
| PowerAutomate日時Excel日時相互関係
| PowerShell
| Dataverse
| UiPath
| OneDrive
| LINQ
| VB.NET
| C#.NET
| WPFC#.NET
| Git
カテゴリ:C#.NET
`ObservableCollection`は、WPFアプリケーションでリストやコレクションをデータバインディングする際に非常に便利です。特に、データが動的に変更される可能性がある場合や、データの変更をUIにリアルタイムで反映したい場合によく使用されます。以下に、`ObservableCollection`がよく使用される例を示します。 1. **データグリッド内のリスト表示**: WPFの`DataGrid`コントロールは、データを表形式で表示するための強力なコントロールです。`ObservableCollection`を使用してデータをバインドすることで、データの変更がリアルタイムに反映されます。例えば、顧客リストや注文履歴などのデータを表示する場合に便利です。 2. **リストボックスまたはコンボボックスの項目リスト**: リストボックスやコンボボックスなどのコントロールでは、`ItemsSource`プロパティを使用してアイテムのリストをバインドします。`ObservableCollection`を使用することで、リスト内のアイテムが動的に変更された場合に、コントロールが自動的に更新されます。 3. **動的なUI要素の追加と削除**: UIに動的な要素を追加または削除する場合にも、`ObservableCollection`が役立ちます。例えば、ダイナミックなメニューやタブの項目を管理する際に使用されます。要素が追加されたり削除されたりするたびに、UIが自動的に更新されます。 4. **MVVMパターンでのビューモデルのプロパティ**: MVVM(Model-View-ViewModel)パターンでは、ビューモデルがUIの状態を表します。ビューモデル内のプロパティを`ObservableCollection`として定義することで、データの変更をUIに自動的に通知できます。 以下は、`ObservableCollection`がリスト表示やデータの動的な更新にどのように使用されるかを示す簡単な例です。 ```csharp using System.Collections.ObjectModel; using System.ComponentModel; using System.Windows; namespace ObservableCollectionExample { public partial class MainWindow : Window { public ObservableCollection<string> Items { get; set; } public MainWindow() { InitializeComponent(); Items = new ObservableCollection<string> { "Item 1", "Item 2", "Item 3" }; DataContext = this; } private void AddItemButton_Click(object sender, RoutedEventArgs e) { Items.Add("New Item"); } private void RemoveItemButton_Click(object sender, RoutedEventArgs e) { if (Items.Count > 0) { Items.RemoveAt(Items.Count - 1); } } } } ``` ```xml <Window x:Class="ObservableCollectionExample.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="ObservableCollection Example" Width="300" Height="200"> <Grid> <ListBox ItemsSource="{Binding Items}" HorizontalAlignment="Center" VerticalAlignment="Center" Width="150" Height="100"/> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Bottom"> <Button Content="Add Item" Click="AddItemButton_Click" Margin="5"/> <Button Content="Remove Item" Click="RemoveItemButton_Click" Margin="5"/> </StackPanel> </Grid> </Window> ``` この例では、`ObservableCollection`を使用してリストボックスの項目をバインドし、ボタンをクリックするとリストが動的に更新されます。 お気に入りの記事を「いいね!」で応援しよう
Last updated
2024.03.18 07:33:28
[C#.NET] カテゴリの最新記事
|