我正在开发一个简单的 UWP 应用。我想让用户输入一些货币值,在本例中是每小时费率。数据类型为十进制。这是 View 模型的属性:
private decimal hourly;
public decimal Hourly
{
get => salaryConvUS.Hourly;
set
{
Set(ref hourly, value); //Template10 method
salaryConvUS.Hourly = hourly;
}
}
这是 XAML 代码:
<TextBox x:Name="HourlyTextBox"
Text="{x:Bind ViewModel.Hourly, Mode=TwoWay}"
Style="{StaticResource CommonTextboxStyle}" />
在我看来,这似乎非常简单,但我收到一个错误,内容是:
App.InitializeComponent.AnonymousMethod__3_0(object sender, Windows.UI.Xaml.UnhandledExceptionEventArgs e)"
在 App.g.i.cs 文件中。我已经搜索过此错误,但我发现的内容不适用于这种情况。
可能与之相关的一件事是我知道 Windows 8 应用程序存在的一个问题,即您无法将文本框之类的内容绑定(bind)到十进制数据类型。你必须进行某种转换。这就是 UWP 中发生的情况吗?
最佳答案
TextBlock 保存一个字符串值。因此您不能直接将十进制值与 TextBlock 绑定(bind)。
使用ToString()
方法正确绑定(bind)。
你可以使用这样的东西 -
private string hourly;
public string Hourly
{
//Your Algorithm
}
关于c# - 在 x :Bind to a textbox 上获取 Windows.UI.Xaml.UnhandledExceptionEventArgs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55774986/