Задать размер App Part можно в теге.
<ClientWebPart Name="" Title="" Description="" DefaultWidth="300" DefaultHeight="200">
Но для контента чей размер заранее неизвестен нужно задать размер фрейма в котором App Part размещается.
Чтобы установить размер фрейма в котором размещается App Part можно использовать функцию ниже.
1: //Задание размера фрэйма
2: function resizeIFrame() {
3: if (window.parent != null) {
4:
5: var senderId;
6: var params = document.URL.split("?")[1].split("&");
7: for (var i = 0; i < params.length; i = i + 1) {
8: var param = params[i].split("=");
9: if (param[0].toLowerCase() == "senderid")
10: senderId = decodeURIComponent(param[1]);
11: }
12:
13: var height = $('html').height();
14:
15: if ($('body').height() > height) {// для совместимости хром ИЕ
16: height = $('body').height();
17: }
18:
19: var width = $('html').width();
20: var message = "<Message senderId=" + senderId + " >" + "resize(" + width + "," + height + ")</Message>";
21: window.parent.postMessage(message, document.referrer);
22:
23: }
24: }