我已经声明了一个命名空间如下(仅显示相关代码)
<Page
xmlns:local="using:ABC"
>
我的页面资源如下
<Page.Resources>
<local:Login x:Key="mykey"/>
</Page.Resources>
这里Login是命名空间ABC中的类,这个类是我的代码隐藏文件,名为Login.xaml.cs
<StackPanel x:Name="mystackpanel" DataContext="{StaticResource mykey}" >
<TextBox PlaceholderText="Email or Mobile Number" Text="{Binding Mobile_Email, Mode=TwoWay}"/>
<TextBox PlaceholderText="Password" Text="{Binding Password, Mode=TwoWay}"/>
<Button Content="Login" Click="LoginButton_Click"/>
</StackPanel>
我在Login.xaml.cs类后面的代码有两个名为Mobile_Email和Password的公共属性。
当我在类构造函数
中使用它时mystackpanel.DataContext=this;
绑定有效,但在页面资源中声明资源会给我stackoverflow异常。
我的问题是为什么我得到一个stackoverflow异常,如何将我的xaml中的stackpanel与类Login后面的代码绑定
答案 0 :(得分:1)
尝试使用此代替page.resources。为页面元素命名。然后将此绑定用于stackpanel datacontext。
{Binding ElementName=pagename,Path = DataContext}