- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 UWP 和 MVVM Light,我有一个程序使用不同的数据多次使用相同的页面和 ViewModel。每个页面/ViewModel 对都分配了一个匹配的 ID,以便它们可以更轻松地相互引用。页面上有一个按钮,显示一个 ContentDialog。
第一次打开其中一个页面时,ContentDialog 正常打开,但如果页面被留下然后返回,则为 ContentDialog 调用 ShowAsync 会导致非常具有描述性的 ArgumentException:'值不在预期范围内。'
View 模型
public RelayCommand LockButtonCommand => new RelayCommand(() => lockButtonClicked());
private void lockButtonClicked()
{
System.Diagnostics.Debug.WriteLine("Button clicked on VM " + myID);
Messenger.Default.Send(new ShowPassphraseDialogMessage(), myID);
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (!idsRegistered.Contains(myID))
{
Messenger.Default.Register<ShowPassphraseDialogMessage>(this, myID, showDiag);
System.Diagnostics.Debug.WriteLine("Registered messages for " + myID);
idsRegistered.Add(myID);
}
}
private async void showDiag(object msg)
{
System.Diagnostics.Debug.WriteLine("Showing dialog for " + myID);
if (activePageID != myID)
return;
await PassphraseDialog.ShowAsync();
}
<ContentDialog x:Name="PassphraseDialog"
x:Uid="Page_PassDialog"
PrimaryButtonText="Enter"
SecondaryButtonText="Cancel"
PrimaryButtonCommand="{x:Bind ViewModel.PassDialogEnterCommand}"
Closing="PassphraseDialog_Closing">
<StackPanel>
<TextBlock x:Uid="Page_PassDialogText" />
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<PasswordBox x:Name="PassphraseDialogInput"
Password="{x:Bind ViewModel.PassDialogInputText, Mode=TwoWay}"
helper:EnterKeyHelpers.EnterKeyCommand="{x:Bind ViewModel.PassDialogEnterCommand}" />
<ProgressRing Margin="8,0,0,12"
IsActive="{x:Bind ViewModel.PassDialogLoading, Mode=OneWay}" />
</StackPanel>
<TextBlock Text="{x:Bind ViewModel.PassDialogErrorText, Mode=OneWay}"
Foreground="{ThemeResource SystemErrorTextColor}"/>
</StackPanel>
</ContentDialog>
最佳答案
当您需要多次使用同一个页面时,请缓存该页面。
尝试这个:
private bool _isInit = false;
public MyPage()
{
this.InitializeComponent();
NavigationCacheMode = NavigationCacheMode.Enabled;
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (e.NavigationMode == NavigationMode.Back || _isInit)
return;
// Do Somethings...
_isInit = true;
}
ContentDialog
您创建的将不会被 ContentDialog
取代新创建的页面,导致错误。 关于c# - 返回到 UWP XAML 页面 ContentDialog.RunAsync() 后导致 'Value does not fall within the expected range.',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59794378/
在 UWP 中 ContentDialog仅调整到特定大小,然后内容被剪裁 - 不滚动。如果我包含一个 ScrollViewer在内容中,它只是随其内容无限增长,从不滚动。 最佳答案 由于我在其他地方
如果我多次按下登录按钮,它会触发消息:“异步操作未正确启动。任何时候只能打开一个 ContentDialog。” (延迟表示应用程序联系服务器以查看用户是否有效所花费的时间。) 如果我使用 Messa
在应用程序窗口外单击时,ContentDialog 是否会自动关闭?对话框异步返回值为 None。有没有办法让对话框保持打开状态,无论焦点如何? 最佳答案 自己找到答案: 订阅: Closing +=
我正在尝试像这样在我的应用中创建一个设置菜单 我知道该怎么做,但我对内容对话框的宽度有疑问,显然宽度有限制。 这是我的内容对话框的代码: Title="" Margin="12,0,-12,0" Ho
Windows Phone 8.1 为对话框和弹出按钮引入了一个新的过渡,看起来像 Venetian blind .我不喜欢这样;我更喜欢它在 Windows Phone 8 中旋转/倾斜的样子。有什
我正在使用深色主题为通用 Windows 平台编写一个应用程序,我注意到虽然我在使用 ContentDialog 显示模态对话框时正确地将请求的主题设置为深色> 类叠加层使整个页面变亮而不是变暗。 显
我有一个简单的问题。由于我一次只能打开一个 COtentDialog 并且在 ContentDialog 的关闭事件中,我有一个条件阻止 ContentDialog 关闭执行args.Cancel =
我正在尝试在我的 Windows 8.1 应用程序中创建一个模式进度叠加层。 我有一个创建 ContentDialog 的类,它会填满整个屏幕并异步显示,如下所示: _contentDialog =
我有一个 ContentDialog,当我在“MyPage”界面中单击一个按钮时,该 ContentDialog 包含一个按钮“Connexion”,让我导航到“ConnexionNvPage”页面这
所以我们一次只能打开一个内容对话框。这可以。但是在我的应用程序中有几个可以打开的内容对话框,我想避免创建自己的变量,因为我可能会忘记将它添加到某处,整个应用程序将崩溃(因为尝试打开第二个内容对话框会抛
我正在尝试为通用应用程序构建自定义 ContentDialog。但是,当其中一个文本 block 是多行时,窗口大小会过大。这是布局:
有没有办法让 ContentDialog 灯消失?这样,当用户单击 ContentDialog 之外的任何内容时,它应该关闭。 谢谢。 最佳答案 默认情况下,ContentDialog 放置在 Pop
据我所知,ContentDialog 的默认行为应该是让它在 PC 上居中并在移动设备上对齐到顶部,但就我而言,即使在 PC 上我也将它对齐到顶部并且我不明白发生了什么。 我正在使用代码隐藏创建它,这
在我的 UWP 应用程序中,我在 ContentDialog 中有一个 RichTextBlock,我为每个元素设置了一些示例高度以检查它是否有效。 我确定 RichTextBlock 中的内容高于
在我的 UWP 应用程序中,我显示了一个带有少量 TextBox 的 ContentDialog 并根据用户输入执行一些操作。我想要做的是这样的: ContentDialogResult result
在 UWP 中,当文本框的 KeyDown 事件检测到已按下 Enter 时,如何以编程方式单击 ContentDialog 的 PrimaryButton?只是尝试添加键盘快捷键以在文本框中接受答案
我需要将值从页面传递到 Contentdialog。请帮帮我 如何从任何页面向 ContentDialog 传递值 最佳答案 你可以重载构造函数。 例如,如果您有不带参数的标准构造函数 publ
我需要将值从页面传递到 Contentdialog。请帮帮我 如何从任何页面向 ContentDialog 传递值 最佳答案 你可以重载构造函数。 例如,如果您有不带参数的标准构造函数 publ
所以我正在使用:公共(public)密封部分类 SynchronizationDialog : ContentDialog。 我有一个 UWP 应用程序。当我按下 UWP 应用程序中的按钮时,Sync
我有一个辅助方法,它显示一个带有接受字符串数据的输入框的 ContentDialog。我的问题是,在调用者取回字符串之前单击“确定”大约需要 1 秒(这非常明显)。我推测可能是对话框在对话框返回之前淡
我是一名优秀的程序员,十分优秀!