itoa был нестандартной функцией помощника, разработанной для дополнения atoi стандартной функции, и вероятно сокрытие sprintf (Большинство его опций может быть реализовано с точки зрения sprintf): http://www.cplusplus.com/reference/clibrary/cstdlib/itoa.html
Использование sprintf. Или snprintf. Или безотносительно инструмента Вы находите.
Несмотря на факт некоторые функции не находятся в стандарте, как справедливо упомянуто "onebyone" в одном из его комментариев, большая часть компилятора предложит Вам альтернативу (например, Visual C++ имеет свой собственный _snprintf, Вы можете определение типа к snprintf при необходимости в нем).
Использование потоки C++ (в текущем станд. случая:: stringstream (или даже станд. устаревший:: strstream, как предложено Herb Sutter в одной из его книг, потому что это несколько быстрее).
Вы находитесь в C++, что означает, что можно выбрать способ, которым Вы хотите его:
более быстрый путь (т.е. путь C), но необходимо быть уверены, что код является узким местом в приложении (преждевременная оптимизация является злой, и т.д.), и что код безопасно инкапсулируется, чтобы не рисковать переполнением буфера.
более безопасный путь (т.е. C++ путь), если Вы знаете, эта часть кода не очень важна, так лучше быть уверенной, что эта часть кода не повредит наугад моменты, потому что кто-то перепутал размер или указатель (который происходит в реальной жизни, как... вчера, на моем компьютере, потому что кто-то думал, что это "охлаждается" для использования более быстрого пути, действительно не нуждаясь в нем).
Поскольку холст имеет фиксированный размер, вы можете использовать отсечение . В основном вам нужно сделать:
<Canvas Width="400" Height="300">
<Canvas.Clip>
<RectangleGeometry Rect="0, 0, 400, 300"/>
</Canvas.Clip>
<!-- your StackPanel here -->
</Canvas>
Вот несколько полезных сообщений по теме: