小编Enk*_*nki的帖子

C# CommunityToolkit.Mvvm ObservableProperty 列表

我想尝试Community Toolkit 8.0 的MVVM 部分。

我有一个非常简单的应用程序:

.... 
       d:DataContext="{d:DesignInstance Type=local:MainWindowViewModel}"
.... 
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="12*" />
        </Grid.RowDefinitions>
        <Button x:Name="ButtonDirectory" Grid.Row="0" Grid.Column="0" Margin="50 2 0 2" Width="200" Content="List Directory" Command="{Binding ClickButtonListDirectoryCommand, Mode=OneWay}" />
        <ListView x:Name="ListViewDirectories" Grid.Row="1" Grid.Column="0" ItemsSource="{Binding DirectoriesNames}"  />
    </Grid>
Run Code Online (Sandbox Code Playgroud)

这是我的视图模型:

public partial class MainWindowViewModel : ObservableObject
{
    [ObservableProperty]
    List<string> _directoriesNames = new();

    [RelayCommand]
    private void ClickButtonListDirectory()
    {
        this.DirectoriesNames.Add("Hello");
    }
}
Run Code Online (Sandbox Code Playgroud)

当我使用而不是列表时,这种构造是有效的string- 但显然,当我的视图组件是 ListView 时,我想使用类似列表的东西。

directoriesNames本身已更新(在调试器中看到),但它未显示在视图中 ( …

c# wpf xaml mvvm

2
推荐指数
1
解决办法
4505
查看次数

标签 统计

c# ×1

mvvm ×1

wpf ×1

xaml ×1