Я написал следующий код для создания древовидного представления: он считывает данные из sqlCEserver и генерирует представление согласно. Он работал нормально, прежде чем я вошел во внутренний цикл while, чтобы добавить подпункты в заголовке.Ошибка при добавлении элементов в treeview C#
private void ClientTree_Initialized(object sender, EventArgs e)
{
string moduleCat = null;
string Cname = null;
SqlCeConnection _con = new SqlCeConnection(@"Data Source=C:\Users\Family\Desktop\Tranchulas projects\ControlCenter\ControlCenter\bin\Debug\ClientDB.sdf");
_con.Open();
SqlCeDataReader _reader = null;
SqlCeDataReader _reader1 = null;
SqlCeCommand readMod = new SqlCeCommand(@"SELECT DISTINCT ModuleID FROM ClientRecord", _con);
_reader = readMod.ExecuteReader();
while(_reader.Read())
{
moduleCat = _reader["ModuleID"].ToString();
treeItem = new TreeViewItem();
treeItem.Header = moduleCat;
SqlCeCommand readName = new SqlCeCommand(@"SELECT Cname FROM ClientRecord WHERE (ModuleID = '" + moduleCat + @"')", _con);
_reader1 = readName.ExecuteReader();
while (_reader1.Read())
{
Cname = _reader["Cname"].ToString();
treeItem.Items.Add(new TreeViewItem() { Header = Cname });
ClientTree.Items.Add(treeItem);
}
}
}
он дал это исключение:
System.Windows.Markup.XamlParseException occurred
HResult=-2146233087
Message='Initialization of 'System.Windows.Controls.TreeView' threw an exception.' Line number '10' and line position '99'.
Source=PresentationFramework
LineNumber=10
LinePosition=99
линия номер 10 является:
<TreeView x:Name="ClientTree" Height="350.4" Width="164.2" HorizontalAlignment="Left" VerticalAlignment="Top" Initialized="ClientTree_Initialized" />
Да ничего не меняется! Я попробовал утверждение try-catch, он никогда не ловит никаких исключений. Можете ли вы предложить альтернативный способ добавления элемента в заголовок? – SparkWerk