在WPF中使用CollectionViewSource有什么用?

时间:2015-09-26 13:01:14

标签: c# wpf xaml

很抱歉问这个愚蠢的问题。

我使用的是这个框架:MahApps.Metro here(Framework 4.0)。

我开始使用示例文件夹github link

下项目中显示的控件

在DataGrid中我遇到了问题

我的xaml是

 <DataGrid x:Name="MetroDataGrid"
              ItemsSource="{Binding Path=UserDetailsList}"                                  
              RenderOptions.ClearTypeHint="Enabled"
              TextOptions.TextFormattingMode="Display"
              HeadersVisibility="All"
              Margin="5"
              SelectionUnit="FullRow"
              AutoGenerateColumns="False">

        <DataGrid.Columns>
            <DataGridTextColumn Header="Title"
                                Binding="{Binding Id}" />
            <DataGridTextColumn Header="Artist"
                                Binding="{Binding Name}" />

            <DataGridTextColumn Header="Salary"
                                Binding="{Binding Salary}" />

            <controls:DataGridNumericUpDownColumn Header="Salary"
                                                  Binding="{Binding Salary}"
                                                  StringFormat="C"
                                                  Minimum="0" />
        </DataGrid.Columns>
    </DataGrid>

在后面的代码中我添加了这段代码,

this.DataContextChanged += (sender, args) =>
{
    var vm = args.NewValue as StyleDemoViewModel;
    if (vm != null)
    {
        CollectionViewSource.GetDefaultView(vm.UserDetailsList).GroupDescriptions.Clear();

        CollectionViewSource.GetDefaultView(vm.UserDetailsList).GroupDescriptions.Add(new PropertyGroupDescription());
    }
};

当我评论编辑后NumericUpDownColumnGrid的代码样式以不同方式更改时,当我使用C#代码时,如果我编辑该列样式(我的意思是前景)在早期是黑色,在后面是白色)是不同的。

我从前面提到的github链接获得了C#代码。

请了解此代码如何影响样式。

0 个答案:

没有答案