WPF Как сделать размер кнопки зависимым от размера окна?

У меня есть Button c такими параметрами: Grid.Row="1" Grid.Column="0" Grid.RowSpan="2" Grid.ColumnSpan="4" (У окна есть Grid). Если я изменяю размер окна, то все кнопки так же изменяют размер. В чём собственно проблема? Я решил сделать анимацию кнопки и изменяю её Width уменьшая в 2 раза с помощью DoubleAnimation. Всё работает, но вот только после анимации (изменения Width кнопки) ширина кнопки перестаёт изменяться, если я изменяю размер окна, что не скажешь про высоту (Height изменяется в зависимости от размера окна). Можно ли как-то сделать анимацию изменения ширины кнопки, но после окончания анимации кнопка изменяла свои размеры в зависимости от размера окна? (Работаю с WPF не так давно, по-этому возможно делаю что-то неправильно. Если нужны фрагменты кода, то могу скинуть)


Ответы (1 шт):

Автор решения: VladD

Один из методов сделать такое — это анимировать не ширину кнопки, а множитель, который вначале имеет значение 1, и анимируется к значению 0.5. Сам множитель можно положить либо в Tag, либо в attached property, а ширину кнопки привязать к ширине ячейки (для этого на дно ячейки можно положить невидимый Grid) и множителю через умножающий IMultiValueConverter (который придётся написать вручную).

→ Ссылка