我可能遗漏了一些基本的东西,但不知道是什么。
我正在将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