在尝试编写MvvmCross中的TipCalc示例时,我尝试使用x:Bind而不是常规绑定(在通用应用程序编程中)
我背后的代码如下:
public sealed partial class TipView
{
public new TipViewModel ViewModel
{
get { return (TipViewModel)base.ViewModel; }
set { base.ViewModel = value; }
}
public TipView()
{
this.InitializeComponent();
}
}
我的xaml看起来像这样:
<Grid x:Name="ContentPanel"
Margin="12,0,12,0"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
>
<StackPanel>
<TextBlock
Text="SubTotal"
/>
<TextBox
Text="{x:Bind ViewModel.SubTotal, Mode=TwoWay}"
/>
.
.
.
编译时我得到以下错误:
Microsoft.Windows.UI.Xaml.Common.targets(350,5): Xaml Internal Error error WMC9999: Unable to cast object of type 'Microsoft.MetadataReader.MetadataOnlyPropertyInfo' to type 'System.Reflection.MethodInfo'.
我正在使用3.5.1版本的MvvmCross库(最后稳定版)
这是一个错误吗?或者我在这里失踪的东西?
答案 0 :(得分:3)
我在代码中使用以下语法
public TipViewModel Vm => (TipViewModel) ViewModel;
绑定将是
Text="{x:Bind Vm.SubTotal, Mode=TwoWay}"
不确定为什么会收到错误,您的观点是否继承自MvxWindowsPage
?