private void _clientFiltersListView_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var selectIndex = _clientFiltersListView.SelectedIndex;
if (selectIndex == -1)
{
_clientFiltersProxyUriTextBox.Text = "";
_clientFiltersConditionTextBox.Text = "tcp:.*";
_clientFiltersConnectionTypeComboBox.SelectedItem = ConnectionType.Tcp;
_clientFiltersConditionSchemeComboBox.SelectedIndex = 0;
_clientFiltersOptionTextBox.Text = "";
return;
}
var item = _clientFiltersListView.SelectedItem as ConnectionFilter;
if (item == null) return;
if (item.ProxyUri != null)
{
_clientFiltersProxyUriTextBox.Text = item.ProxyUri;
}
else
{
_clientFiltersProxyUriTextBox.Text = "";
}
if (item.UriCondition != null)
{
_clientFiltersConditionTextBox.Text = item.UriCondition.Value;
var regex = new Regex(@"(.+?):(.*)");
Match match = regex.Match(item.UriCondition.Value);
if (match.Success)
{
var conboboxItem = _clientFiltersConditionSchemeComboBox.Items.Cast<ComboBoxItem>()
.FirstOrDefault(n => (string)n.Content == match.Groups[1].Value);
if (conboboxItem != null)
{
conboboxItem.IsSelected = true;
}
}
}
else
{
_clientFiltersConditionTextBox.Text = "";
}
if (item.Option != null)
{
_clientFiltersOptionTextBox.Text = item.Option;
}
else
{
_clientFiltersOptionTextBox.Text = "";
}
_clientFiltersConnectionTypeComboBox.SelectedItem = item.ConnectionType;
}