0

名前、住所、国の列を持つデータテンプレートにテキストボックスをさらに含むリストビューがあります。これで、このリストビューの Itemsource は、ビューモデル クラスのモデルの観察可能なコレクションにバインドされます。

VM のある条件で、名前とアドレスを空にすることで (タイプ の) ObjModel を更新していObservableCollection<Model>ます。ビューモデル クラスの ObjModel オブジェクトで name の値を空にすることができます。しかし、それらの変更は UI (ListView) に反映されていません。

私のビューは次のようなものです:

 <DataTemplate x:Key="EquipmentItemTemplate">
                <Grid
                    x:Name="ListItem"
                    Height="40"
                    ZIndex="1">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="200" />
                        <ColumnDefinition Width="250" />
                        <ColumnDefinition Width="250" />
                    </Grid.ColumnDefinitions>
                    <TextBlock Grid.Column="0" Text="{Binding Path=Name}" />
                    <TextBlock Grid.Column="1" Text="{Binding Path=Address}" />
                    <TextBlock Grid.Column="2" Text="{Binding Path=Country}" />
                </Grid>
            </DataTemplate>
 <ListView x:Name="MaintenanceElements" 
                 ItemContainerStyle="{StaticResource SequenceListItemStyle}"
                 ItemTemplate="{StaticResource EquipmentItemTemplate}"
                ItemsSource="{Binding EquipmentMaintenanceEntityItemsCollection}"
                SelectedItem="{Binding SelectedMaintenanceElement}">
                    <ListView.View>
                        <GridView AllowsColumnReorder="False">
                            <GridViewColumn
                                    Width="200"
                                    local:GridViewSort.PropertyName="Name"
                                    Header="Name" />
                            <GridViewColumn
                                    Width="250"
                                    local:GridViewSort.PropertyName="Address"
                                    Header="Address" />
                            <GridViewColumn
                                    Width="250"
                                    local:GridViewSort.PropertyName="Country"
                                    Header="Country" />

                        </GridView>
                    </ListView.View>                   
                </ListView>

ビュー モデルには以下が含まれます。

 public ObservableCollection<Model> ObjModel { get; set; }

いくつかの条件で私が行ういくつかの場所

ObjModel[0].Name= string.Empty; 

itemsource が Model オブジェクトのオブザーバブル コレクションにバインドされているため、ListView で更新されません。ここから ListView を更新するにはどうすればよいですか?

私のモデルは次のとおりです。

public class EquipmentMaintenanceModel : ChangeTracker, INotifyPropertyChanged
    {
      private string name;
      private string address;
      private string country;

       public string Name
        {
            get { return this.name; }
            set { this.name = value; }
        }

       public string Address
        {
            get { return this.address; }
            set { this.address = value; }
        }
       public string Country
        {
            get { return this.country; }
            set { this.country = value; }
        }
        private void OnPropertyChanged(string propertyName)
        {
            if (this.PropertyChanged != null)
            {
                this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    }
4

1 に答える 1