Windows Template Studio MVVM Light Navigation To Page--并非所有内容都在 UWP 应用程序上首次加载
Windows Template Studio MVVM Light Navigation To Page--Not everything loads the first time on UWP app
我可能遗漏了一些基本的东西,但不知道是什么。
我正在将 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
在绑定到 XAML 控件的某些属性中添加更多 RaisePropertyChanged
Visibility
我可能遗漏了一些基本的东西,但不知道是什么。
我正在将 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
在绑定到 XAML 控件的某些属性中添加更多 RaisePropertyChanged
Visibility