Я использую WPF для отображения фигуры на панели Office.Я могу определить размер фигуры при загрузке приложения.Но я хотел бы изменить размер этой формы, если пользователь изменит размер панели, содержащей форму.Моя проблема заключается в том, что поле, определенное в начале, не изменяется после загрузки, поэтому размер сохраняет первоначальное поле.
У меня есть UserControl, содержащий форму WPF и обработчик события изменения размера:
private void UserControlA_Resize(object sender, EventArgs e)
{
myWPF.SetSizeOfShape(sizeOfPanel); // I collect sizeOfPanel, and it is OK, it is changed when panel is resized
}
xaml из WPF:
<Border Name="myShape" Background="blue" CornerRadius="8" Margin="10,126,139,199" />
. WPF .cs:
public void SetSizeOfShape(int widthOfPanel)
{
myShape.Margin = new Thickness(widthOfPanel/3, 100, widthOfPanel/6, 100);
SetSizeOfShape вызывается, когда приложение загружается и размер установлен правильно - но если размер равенизменено, вызывается снова, но не изменяет отображаемое поле.
Знаете ли вы, что не так и как это исправить?
----- РЕДАКТИРОВАТЬ ----- Вероятно, есть проблема с моим обработчиком событий.Действительно, если я поместил событие нажатием кнопки, это сработает, но если я использую событие Resize (или sizeChanged), то это не так: событие вызывается, но не влияет на форму.Ты знаешь как это решить?