Windows Template Studio MVVM Легкая навигация на страницу - не все загружается в первый раз в приложении UWP
Я, наверное, упускаю что-то фундаментальное, но не знаю что.
Я нахожусь в процессе преобразования приложения Tempalate10 UWP в Windows Template Studio.
Я переместил большую часть своего кода в новый проект, но меня поразило то, что при загрузке страницы (переходе к ней) не все загружается с первого раза. Я пытаюсь второй раз, и он загружает все. Что мне не хватает?
Добавлен код:
<StackPanel Visibility="{x:Bind ViewModel.ItemFinalized, Mode=OneWay}">
<TextBlock TextWrapping="WrapWholeWords">This text</TextBlock>
<ToggleSwitch x:Name="toggleSwitchSaveCopies2"
Margin="0,0,0,0"
IsOn="{x:Bind ViewModel.SavePdfCopies, Mode=TwoWay}"
Visibility="{x:Bind ViewModel.HasLineItems, Mode=OneWay}"
OffContent="Don't save PDF copies."
OnContent="Save and show me the PDFs."></ToggleSwitch>
<ToggleSwitch x:Name="toggleSwitchComposeEmail2"
Margin="0,0,0,0"
IsOn="{x:Bind ViewModel.ComposeEmail, Mode=TwoWay}"
OffContent="Don't compose an email."
OnContent="Compose an email."></ToggleSwitch>
<Button x:Name="buttonSaveFinalized"
IsEnabled="{x:Bind ViewModel.CanSave, Mode=OneWay}"
Content="Save"
Margin="0,12,0,20"
Click="ButtonSaveFinalized_Click" />
<Button x:Name="buttonViewScanSheetPDF"
Content="Test"
Margin="0,25,0,20"
Click="ButtonViewScanSheetPDF_Click" />
</StackPanel>
ViewModel:
public bool ItemFinalized { get => itemFinalized; set { Set(ref itemFinalized, value); RaisePropertyChanged("IsDraft"); } }
1 ответ
Решение
Подводя итог, что в итоге сработало:
Mode=OneWay
на x:Bind
а также Binding
Добавление больше RaisePropertyChanged
в определенных свойствах, привязанных к элементу управления XAML Visibility