Задать вопрос
@OwDafuq

Как зафиксировать Frame по размеру и как сделать авто подгон размера формы под размер контента Fram'a?

Здравствуйте.
Столкнулся с проблемой.
Есть 2 страницы.
На форме есть Frame и подключен VM, в котором есть текущая страница, прибиндить тайтл страницы не составило труда, а вот с размерами формы, в которой находится страница - никак.
Весь контент страницы просто расширяется на всю ширину окна.

<controls:MetroWindow
        ...........
        Title="{Binding CurrentPage.Title}"
        Height="500" 
        Width="350">
    <Window.DataContext>
        <local:MainWindowVM/>
    </Window.DataContext>
    <Grid>
        <Frame Content="{Binding CurrentPage}"
               NavigationUIVisibility="Hidden"
               Opacity="{Binding Opacity}"/>
    </Grid>
</controls:MetroWindow>


Суть вопроса:
1) Как сделать, чтобы, если размер страницы был меньше текущего размера окна, то весь контент страницы находился строго по середине окна?
2) Как сделать авто подгонку размера окна с фреймом и страницей, под размер текущей страницы?
3) Как вызвать команду из VM главного окна, где находится Frame, в VM страницы?

(p.s. - MVVM использую, примеры, желательно, на нем)
  • Вопрос задан
  • 394 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
1.
<Grid>
       <Grid.RowDefenitions>
          <RowDefenition height='*' />
          <RowDefenition height='auto' />
          <RowDefenition height='*' />
       </Grid.RowDefenitions>
      <Grid.ColumnDefenitions>
          <ColumnDefenition width='*' />
          <ColumnDefenition width='auto' />
          <ColumnDefenition width='*' />
       </Grid.ColumnDefenitions>
        <Frame Grid.Row="1" Grid.Column="1" Content="{Binding CurrentPage}"
               NavigationUIVisibility="Hidden"
               Opacity="{Binding Opacity}"/>
    </Grid>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы