wpf中指定data對應的treeViewItem為選中項,使用遞歸
treeView.ItemContainerGenerator.ContainerFromItem(item); treeView這里遞歸時需替換成子項
foreach (var item in treeView.Items)
{
var tvi = (TreeViewItem)treeView.ItemContainerGenerator.ContainerFromItem(item);
SetSelect(tvi, data);
}
bool SetSelect(TreeViewItem tvi, PollingGroupModel data)
{
if (tvi.Items.Count > 0)
{
foreach (var item in tvi.Items)
{
var tviChild = (TreeViewItem)tvi.ItemContainerGenerator.ContainerFromItem(item);
var model = (PollingGroupModel)item;
if (data.DevID == model.DevID && data.ChannelID == model.ChannelID)
{
tviChild.IsSelected = true;
return true;
}
else
{
SetSelect(tviChild, data);
return true;
}
}
}
}