Я создание вида средств массовой информации, чтобы растянуть в соответствии с контейнером (анкерной панелью), сохраняя при этом соотношении сторон в средствах массовой информации путем связывания ширины просмотра медиа и высоты по ширине и высоте контейнера.
Я обнаружил, что при изменении размера только ширины контейнера вид мультимедиа изменяется, но носитель всегда находится слева от вида мультимедиа или при изменении высоты носитель всегда находится сверху. но я хочу, чтобы он был центрирован как для макета X, так и для макета Y, но при этом изменял размер.
Я попытался связать xtranslate представления мультимедиа с вычитанием ширины области привязки и ширины представления мультимедиа, разделенным на 2, но это не работает, так как ширина представления мультимедиа связана с шириной контейнера, вычитание между ними всегда будет производить 0, в конечном итоге xtranslate всегда принимает 0.
mainMediaView.setPreserveRatio(true);
// binding both media view width and height to anchor pane width and height
mainMediaView.fitWidthProperty().bind(centerAnchorPane.widthProperty());
mainMediaView.fitHeightProperty().bind(centerAnchorPane.heightProperty());
// should make media view move to center according to X coordinates
mainMediaView.translateXProperty().bind(centerAnchorPane.widthProperty()
.subtract(mainMediaView.fitWidthProperty()).divide(2));
// should make media view move to center according to Y coordinates
mainMediaView.translateYProperty().bind(centerAnchorPane.heightProperty()
.subtract(mainMediaView.fitHeightProperty()).divide(2));