Если вы добавляете элементы не-пользовательского интерфейса в список (например, строки или объекты данных не-пользовательского интерфейса), то это, вероятно, довольно сложно. Однако, если вы оборачиваете свои элементы в какой-то объект, производный от FrameworkElement, перед добавлением их в список, вы можете использовать TransformToVisual, чтобы получить относительный размер, и использовать Высота и Ширина, чтобы установить размер элемента.
Как правило, вы можете обернуть ваши объекты в ContentControl следующим образом. Вместо:
_ListBox.Items.Add(obj0);
_ListBox.Items.Add(obj1);
Сделайте это:
_ListBox.Items.Add(new ContentControl { Content = obj0 });
_ListBox.Items.Add(new ContentControl { Content = obj1 });
Теперь, когда вы получите _ListBox.SelectedItem, вы можете привести его к ContentControl, установить размер и получить относительную позицию. Если вам нужен оригинальный объект, просто получите значение свойства Content элемента.