Reputation: 37
I have this prototype to implement
This is what I have so far in my code
MainViewModel.cs
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using GenericQueueProt.Models;
namespace GenericQueueProt.ViewModels
{
public MainViewModel()
{
Properties = new List<Property>
{
new Property
{
State = "Proccess applicaton",
StateDays = 713,
Ward = "WARD1",
CanvassArea = "001 A&G",
PollingDistrict = "CDA",
Office = "0"
},
new Property
{
State = "Due Evaluation",
StateDays = 713,
Ward = "WARD2",
CanvassArea = "034 MILN",
PollingDistrict = "CO",
Office = "0"
},
new Property
{
State = "Due Evaluation",
StateDays = 713,
Ward = "WARD1",
CanvassArea = "003 A&B2",
PollingDistrict = "CDA",
Office = "0"
},
new Property
{
State = "Proccess applicaton",
StateDays = 713,
Ward = "WARD1",
CanvassArea = "031 LYTH",
PollingDistrict = "AW",
Office = "0"
},
new Property
{
State = "Proccess applicaton",
StateDays = 713,
Ward = "WARD1",
CanvassArea = "013 HAW",
PollingDistrict = "AO",
Office = "0"
},
new Property
{
State = "Evaluated",
StateDays = 713,
Ward = "WARD3",
CanvassArea = "031 LYTH",
PollingDistrict = "CI",
Office = "0"
},
new Property
{
State = "Due Evaluation",
StateDays = 713,
Ward = "WARD2",
CanvassArea = "035 S&KL",
PollingDistrict = "CC",
Office = "0"
},
new Property
{
State = "Due Evaluation",
StateDays = 713,
Ward = "WARD2",
CanvassArea = "035 S&KL",
PollingDistrict = "CZ",
Office = "0"
},
new Property
{
State = "Evaluated",
StateDays = 713,
Ward = "WARD3",
CanvassArea = "003 A&B2",
PollingDistrict = "AD",
Office = "0"
},
new Property
{
State = "Proccess applicaton",
StateDays = 713,
Ward = "WARD1",
CanvassArea = "001 A&G",
PollingDistrict = "CD",
Office = "0"
}
};
}
}
}
Property.cs
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static GenericQueueProt.ViewModels.MainViewModel;
namespace GenericQueueProt.Models
{
public class Property
{
public string State { get; set; }
public int StateDays { get; set; }
public string Ward { get; set; }
public string CanvassArea { get; set; }
public string PollingDistrict { get; set; }
public string Office { get; set; }
public List<Group> Groups {get; set;}
}
}
MainWindow.xaml.cs
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace GenericQueueProt
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
MainWindow.xaml
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:local="clr-namespace:GenericQueueProt"
xmlns:ViewModels="clr-namespace:GenericQueueProt.ViewModels" x:Class="GenericQueueProt.MainWindow"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="29*"/>
<ColumnDefinition Width="7*"/>
</Grid.ColumnDefinitions>
<Grid.DataContext>
<ViewModels:MainViewModel/>
</Grid.DataContext>
<Grid x:Name="CheckBoxes">
<StackPanel x:Name="chbPanel" Background="LightGray" Orientation="Horizontal" Margin="0,0,0,384" Grid.ColumnSpan="2" >
<CheckBox Name="stateCheckBox" Margin="10" >State</CheckBox>
<CheckBox Name="stateDaysCheckBox" Margin="10">State Days</CheckBox>
<CheckBox Name="wardCheckBox" Margin="10">ward</CheckBox>
<CheckBox Name="canvassAreaCheckBox" Margin="10">Canvass area</CheckBox>
<CheckBox Name="pdCheckBox" Margin="10" >PD</CheckBox>
<CheckBox Name="officeCheckBox" Margin="10" >Office</CheckBox>
</StackPanel>
</Grid>
<ListView ItemsSource="{Binding Properties}" HorizontalAlignment="Left" Height="369" Margin="40,40,0,0" VerticalAlignment="Top" Width="742" Grid.ColumnSpan="2">
<ListView.Resources>
<DataTemplate x:Key="ShowItems">
<StackPanel>
</StackPanel>
</DataTemplate>
</ListView.Resources>
<ListView.View>
<GridView x:Name="ItemGridView">
<GridView.Columns>
<GridViewColumn Header="State" Width="120" DisplayMemberBinding="{Binding State}"/>
<GridViewColumn Header="State Days" Width="70" DisplayMemberBinding="{Binding StateDays}"/>
<GridViewColumn Header="Ward" Width="100" DisplayMemberBinding="{Binding Ward}"/>
<GridViewColumn Header="Canvass Area" Width="120" DisplayMemberBinding="{Binding CanvassArea}"/>
<GridViewColumn Header="Polling District" Width="120" DisplayMemberBinding="{Binding PollingDistrict}"/>
<GridViewColumn Header="Office" Width="70" DisplayMemberBinding="{Binding Office}"/>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>
The thing is that I'm a beginner at this and honestly I don't have any idea how can I implement this. So please if anyone can help, give me some reference or any advice I would be very thankful. I know I am asking too much but really guys I'm struggling with this for almost two weeks now.
Upvotes: 0
Views: 58
Reputation: 784
not sure if i understand your question correctly, but you should check if your checkbox is checked then you can hide your list column by (give your list a name):
listView1.Columns.RemoveAt(3);
or to show it back
listView1.Columns.Insert(3, "Column Name");
Upvotes: 1