You can use StringBuilder to build the Where clause and Dictionary to hold the field name and value pair.You can change the equality sign as you wish too.
StringBuilder sb = new StringBuilder();
int count = 0;
foreach (var item in items)
{
if(count == 0)
sb.Append(string.Format("{0} > {1}", item.Key, item.Value));
else
sb.Append(string.Format(" and {0} > {1}", item.Key, item.Value));
count++;
}
query.Where = sb.ToString();
The following code assumes that each CheckBox Content is the field name, each field accepts an integer value.
private Dictionary<string, int> items = new Dictionary<string, int>();
private void CheckBox_Click(object sender, RoutedEventArgs e)
{
CheckBox cb = sender as CheckBox;
string key = (string) cb.Content;
if (items.ContainsKey(key))
items.Remove(key);
else
items.Add(key, Convert.ToInt32(NumValue.Text.Trim()));
}