Ordenação de Objetos
quero ordenar as Secagens por nº de CRG e não sei como, segue o código abaixo.
<Window x:Class="CRG08KDHT.View.Ciclos"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:extbehaviours="clr-namespace:CRG08KDHT.Extensions.Behaviours"
xmlns:local="clr-namespace:CRG08KDHT.View"
xmlns:controls="clr-namespace:CRG08KDHT.Controls"
xmlns:viewModel="clr-namespace:CRG08KDHT.ViewModel"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:util="clr-namespace:CRG08KDHT.Util" mc:Ignorable="d"
Title="Secagens" MinWidth="850"
d:DataContext="{d:DesignInstance viewModel:CiclosViewModel, IsDesignTimeCreatable=False}">
<Window.WindowState>Maximized</Window.WindowState>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<UniformGrid Grid.Row="0" Columns="11" Height="100" HorizontalAlignment="Left" Margin="10 0">
<UniformGrid.Style>
<Style TargetType="UniformGrid">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=TabControlAbas, Path=SelectedIndex}" Value="1">
<Setter Property="Columns" Value="8"/>
</DataTrigger>
</Style.Triggers>
</Style>
</UniformGrid.Style>
<UniformGrid.Resources>
<Style TargetType="controls:IconButton" BasedOn="{StaticResource {x:Type controls:IconButton}}">
<Setter Property="Fill" Value="White"></Setter>
<Setter Property="Foreground" Value="White"></Setter>
<Setter Property="Background" Value="RoyalBlue"></Setter>
<Setter Property="BorderBrush" Value="White"></Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="White"></Setter>
<Setter Property="BorderBrush" Value="RoyalBlue"></Setter>
<Setter Property="Foreground" Value="RoyalBlue"></Setter>
<Setter Property="Fill" Value="RoyalBlue"></Setter>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="#FFC5C5C5"></Setter>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="TextBlock.Foreground" Value="White"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</UniformGrid.Resources>
<controls:IconButton Command="{Binding AdicionarCicloCommand}" Source="{StaticResource AddFileIcon}">Nova Secagem</controls:IconButton>
<controls:IconButton Command="{Binding AbrirSecagensCommand}" Source="{StaticResource BooksIcon}">Histórico</controls:IconButton>
<controls:IconButton Command="{Binding AbrirRelatorioCommand}" Source="{StaticResource FileChartIcon}">Relatório</controls:IconButton>
<controls:IconButton Command="{Binding AtualizarCommand}" Source="{StaticResource UpdateIcon}" Content="Atualizar">
<controls:IconButton.Style>
<Style TargetType="controls:IconButton" BasedOn="{StaticResource {x:Type controls:IconButton}}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=TabControlAbas, Path=SelectedIndex}" Value="1">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</controls:IconButton.Style>
</controls:IconButton>
<controls:IconButton Command="{Binding ExcluirCommand}" Source="{StaticResource DeleteIcon}">Excluir</controls:IconButton>
<controls:IconButton Command="{Binding GerenciarProdutosCommand}" Source="{StaticResource SettingsIcon}" Content="Gerenciar Dados"></controls:IconButton>
<controls:IconButton Command="{Binding AbrirAlterarCommand}" Source="{StaticResource EditIcon}" Content="Alterar">
<controls:IconButton.Style>
<Style TargetType="controls:IconButton" BasedOn="{StaticResource {x:Type controls:IconButton}}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=TabControlAbas, Path=SelectedIndex}" Value="1">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</controls:IconButton.Style>
</controls:IconButton>
<controls:IconButton Command="{Binding FinalizarCommand}" Source="{StaticResource CheckIcon}" Content="Finalizar">
<controls:IconButton.Style>
<Style TargetType="controls:IconButton" BasedOn="{StaticResource {x:Type controls:IconButton}}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=TabControlAbas, Path=SelectedIndex}" Value="1">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</controls:IconButton.Style>
</controls:IconButton>
<controls:IconButton Command="{Binding AbrirFiltroCommand}" Source="{StaticResource FilterIcon}" Content="Filtrar">
<controls:IconButton.Style>
<Style TargetType="controls:IconButton" BasedOn="{StaticResource {x:Type controls:IconButton}}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=TabControlAbas, Path=SelectedIndex}" Value="0">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</controls:IconButton.Style>
</controls:IconButton>
<controls:IconButton Command="{Binding ImportarCommand}" Source="{StaticResource FileImportIcon}">Importar</controls:IconButton>
<controls:IconButton Command="{Binding ExportarCommand}" Source="{StaticResource FileExportIcon}">Exportar</controls:IconButton>
<controls:IconButton Command="{Binding SairCommand}" Source="{StaticResource ExitIcon}">Sair</controls:IconButton>
</UniformGrid>
<TabControl Name="TabControlAbas" Grid.Row="1" SelectedIndex="{Binding TabControlIndex}">
<TabControl.Resources>
<Style TargetType="ListViewItem">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="LightCyan" />
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="#FFC2F3DD" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="LightSkyBlue"/>
</Trigger>
</Style.Triggers>
</Style>
</TabControl.Resources>
<TabItem Header="Secagens em Andamento">
<ListView ItemsSource="{Binding CiclosEmAndamento}" SelectionMode="Single" SelectionChanged="CiclosEmAndamento_OnSelectionChanged" util:GridViewSort.AutoSort="True" AlternationCount="2" >
<ListView.View>
<GridView>
<GridViewColumn Header="" Width="30">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox
IsChecked="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem}, Path=IsSelected}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="CRG" DisplayMemberBinding="{Binding Crg}" util:GridViewSort.PropertyName="Crg"></GridViewColumn>
<GridViewColumn Header="Nº Série" Width="100" DisplayMemberBinding="{Binding NumeroSerie}" util:GridViewSort.PropertyName="NumeroSerie"></GridViewColumn>
<GridViewColumn Header="NSec" Width="35" DisplayMemberBinding="{Binding NumeroSecagem}" util:GridViewSort.PropertyName="NumeroSecagem"></GridViewColumn>
<GridViewColumn Header="NL" Width="35" DisplayMemberBinding="{Binding NumeroLeituras}" util:GridViewSort.PropertyName="NumeroLeituras"></GridViewColumn>
<GridViewColumn Header="NLT" DisplayMemberBinding="{Binding NumeroLeiturasTrat}" util:GridViewSort.PropertyName="NumeroLeiturasTrat"></GridViewColumn>
<GridViewColumn Header="Data Coleta" Width="110" DisplayMemberBinding="{Binding DataColeta, StringFormat={}{0:dd/MM/yyyy HH:mm}}" util:GridViewSort.PropertyName="DataColeta"></GridViewColumn>
<GridViewColumn Header="Início Ciclo" Width="110" DisplayMemberBinding="{Binding DataInicio, StringFormat={}{0:dd/MM/yyyy HH:mm}}" util:GridViewSort.PropertyName="DataInicio"></GridViewColumn>
<GridViewColumn Header="Descrição" DisplayMemberBinding="{Binding Descricao}" util:GridViewSort.PropertyName="Descricao"></GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</TabItem>
<TabItem Header="Secagens Finalizadas">
<ListView ItemsSource="{Binding FilteredCiclosFinalizados}" SelectionMode="Single" SelectionChanged="CiclosFinalizados_OnSelectionChanged" AlternationCount="2">
<ListView.View>
<GridView>
<GridViewColumn Header="" Width="30">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox
IsChecked="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem}, Path=IsSelected}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="CRG" DisplayMemberBinding="{Binding Crg}" Width="30"></GridViewColumn>
<GridViewColumn Header="Nº Série" DisplayMemberBinding="{Binding NumeroSerie}" Width="70"></GridViewColumn>
<GridViewColumn Header="NSec" Width="35" DisplayMemberBinding="{Binding NumeroSecagem}"></GridViewColumn>
<GridViewColumn Header="NL" Width="35" DisplayMemberBinding="{Binding NumeroLeituras}"></GridViewColumn>
<GridViewColumn Header="NLT" Width="35" DisplayMemberBinding="{Binding NumeroLeiturasTrat}"></GridViewColumn>
<GridViewColumn Header="Data Coleta" Width="100" DisplayMemberBinding="{Binding DataColeta, StringFormat={}{0:dd/MM/yyyy HH:mm}}"></GridViewColumn>
<GridViewColumn Header="Início Ciclo" Width="100" DisplayMemberBinding="{Binding DataInicio, StringFormat={}{0:dd/MM/yyyy HH:mm}}"></GridViewColumn>
<GridViewColumn Header="Descrição" Width="300" DisplayMemberBinding="{Binding Descricao}"></GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</TabItem>
</TabControl>
<TextBlock Grid.Row="1" Foreground="Red" HorizontalAlignment="Right" Text="{Binding AvisoFiltroStr}" FontWeight="Bold" VerticalAlignment="Top" Margin="0 0 10 0"/>
<Border Grid.Row="0" Grid.RowSpan="2" Background="White" Opacity="0.5" Visibility="{Binding OverlayAberto, Converter={StaticResource BoolToVis}}">
</Border>
<GroupBox Header="Filtro das Secagens Finalizadas" Grid.Row="1" Margin="10 0 10 10" HorizontalAlignment="Center" VerticalAlignment="Top" Visibility="{Binding FiltroAberto, Converter={StaticResource BoolToVis}}">
<StackPanel Background="White">
<TextBlock Text="Aparelho" FontWeight="Bold" HorizontalAlignment="Center" Margin="0 10 0 0"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<CheckBox IsChecked="{Binding Filtro.ApenasAparelho}" Content="Apenas do aparelho:" VerticalAlignment="Center"/>
<ComboBox ItemsSource="{Binding AparelhosDisponiveis}" SelectedValue="{Binding Filtro.Aparelho}" Margin="5 0 0 0"/>
</StackPanel>
<TextBlock Text="Período" FontWeight="Bold" HorizontalAlignment="Center"/>
<Grid HorizontalAlignment="Center">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<RadioButton IsChecked="{Binding Filtro.QualquerData}" Width="120" Grid.Row="0" Grid.Column="0" Content="Qualquer data"/>
<RadioButton IsChecked="{Binding Filtro.UltimoMes}" Width="120" Grid.Row="0" Grid.Column="1" Content="Último mês"/>
<RadioButton IsChecked="{Binding Filtro.UltimaSemana}" Width="120" Grid.Row="1" Grid.Column="0" Content="Última semana"/>
<RadioButton IsChecked="{Binding Filtro.Personalizado}" Width="120" Grid.Row="1" Grid.Column="1" Content="Personalizado"/>
</Grid>
<StackPanel Orientation="Vertical" Margin="15 0" Visibility="{Binding Filtro.Personalizado, Converter={StaticResource BoolToVis}}">
<TextBlock Text="À partir de:"/>
<DatePicker SelectedDate="{Binding Filtro.DataInicio}" />
<TextBlock Text="Até:"/>
<DatePicker SelectedDate="{Binding Filtro.DataFim}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="10">
<Button Command="{Binding AplicarFiltroCommand}" Content="Aplicar" Width="80" Height="25"/>
<Button Command="{Binding ResetarFiltroCommand}" Content="Resetar" Width="80" Height="25"/>
<Button Command="{Binding FecharFiltroCommand}" Content="Cancelar" Width="80" Height="25"/>
</StackPanel>
</StackPanel>
</GroupBox>
<GroupBox Header="Alterar Secagem" Grid.Row="1" Margin="10 0 10 0" HorizontalAlignment="Center" VerticalAlignment="Top" Visibility="{Binding AlterarAberto, Converter={StaticResource BoolToVis}}">
<Grid Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Margin="0 10 0 5" FontWeight="Bold" Grid.ColumnSpan="2" Text="{Binding SecagemEmEdicao.NumeroSecagem, StringFormat={}Secagem em edição: {0:000}}" HorizontalAlignment="Center"/>
<TextBlock Grid.Row="1" Grid.Column="0" Margin="10 0 5 0" FontWeight="Bold" Text="Descrição:"/>
<TextBox Name="TxtAlterarDescricao" Text="{Binding AlterarDescricaoText}" Grid.Row="1" Grid.Column="1" Margin="0 0 10 0" Width="200"/>
<StackPanel Grid.Row="2" Grid.ColumnSpan="2" Orientation="Horizontal" Margin="0 5 0 10" HorizontalAlignment="Center">
<Button Command="{Binding SalvarAlterarCommand}" Content="Salvar" Width="80" Height="25" Margin="0 0 5 0"/>
<Button Command="{Binding CancelarAlterarCommand}" Content="Cancelar" Width="80" Height="25"/>
</StackPanel>
</Grid>
</GroupBox>
<Grid Grid.Row="0" Grid.RowSpan="2" Visibility="{Binding IsLoading, Converter={StaticResource BoolToVis}, TargetNullValue=Visible, FallbackValue=Visible}">
<Border Background="LightSlateGray" Opacity="0.2"></Border>
<Border VerticalAlignment="Center" HorizontalAlignment="Center" Padding="30" Background="RoyalBlue" CornerRadius="5">
<StackPanel>
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="20" Foreground="White" FontWeight="Bold" Text="{Binding LoadingText}"></TextBlock>
</StackPanel>
</Border>
</Grid>
</Grid>
</Window>Discussão (0)
Carregando comentários...