uwp - Windows Template Studio MVVM Light Navigation To Page--并非所有内容都在 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>
视图模型:
public bool ItemFinalized { get => itemFinalized; set { Set(ref itemFinalized, value); RaisePropertyChanged("IsDraft"); } }
解决方案
总结一下最终奏效的方法:
Mode=OneWay
开x:Bind
和Binding
RaisePropertyChanged
在绑定到 XAML 控件的某些属性中添加更多内容Visibility
推荐阅读
- javascript - NestJS 为不同用户角色排除字段的策略?
- keras - 如何使用有状态 LSTM 模型进行预测,而不指定与我训练时相同的 batch_size?
- python - 编写zip文件python时文件日期的行为
- python - 边缘去除networkx图时如何保留路径
- python - 当 X 是多维时,多项式回归是否有效?
- google-cloud-iot - iot-device-sdk-embedded-c 中的 IOTC_CONNECTION_RESET_BY_PEER_ERROR
- jquery - Jquery 仅适用于双击
- java - Mongo java api忽略嵌套的或/和运算符
- linux - 从命令行中删除 github 中的 ssh 密钥
- javascript - 当类处于活动状态和非活动状态时更改鼠标悬停的背景图像