我正在尝试更新三个 ToggleSwitchesOnContent
以及OffContent
基于从 UWP 的本地设置缓存(而不是ToggleSwitch.IsOn
属性)检索到的值。请注意,我在外部线程上执行此操作。
这是我当前的代码:
ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;
public async void updateUI()
{
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
// set Test1 state in UI
toggleSwitchTest1.OnContent = (Convert.ToBoolean(localSettings.Values["Test1"])) ? "It is: On" : "It is: Off";
toggleSwitchTest1.OffContent = toggleSwitchTest1.OnContent;
// set Test2 state in UI
toggleSwitchTest2.OnContent = (Convert.ToBoolean(localSettings.Values["Test2"])) ? "It is: On" : "It is: Off";
toggleSwitchTest2.OffContent = toggleSwitchTest2.OnContent;
// set Test3 state in UI
toggleSwitchTest3.OnContent = (Convert.ToBoolean(localSettings.Values["Test3"])) ? "It is: On" : "It is: Off";
toggleSwitchTest3.OffContent = toggleSwitchTest3.OnContent;
});
}
我也尝试过使用正常值Boolean
作为传递给方法的参数来执行此操作。或者Boolean
值只是在公共构造函数之前的类开头声明并设置它。这也不起作用。
如果需要任何其他代码,请告诉我。
我究竟做错了什么?
编辑
我updateUI
通过简单地像这样调用它来调用该方法:updateUI()
编辑 2
ToggleSwitches'
XAML 构造函数代码:
<ToggleSwitch x:Name="toggleSwitchTest1" OffContent="It is" OnContent="It is" HorizontalAlignment="Left" Margin="19,84,0,0" VerticalAlignment="Top" IsOn="False"/>
<ToggleSwitch x:Name="toggleSwitchTest2" OffContent="It is" OnContent="It is" HorizontalAlignment="Left" Margin="19,116,0,0" VerticalAlignment="Top" IsOn="False"/>
<ToggleSwitch x:Name="toggleSwitchTest3" OffContent="It is" OnContent="It is" HorizontalAlignment="Left" Margin="19,148,0,0" VerticalAlignment="Top" IsOn="False"/>