Tra*_*v92 8 c# data-binding silverlight xaml windows-phone-8
如何将TextBoxes Text绑定到XAML中我的类中的全局变量?这是适用于Windows Phone的方式.
这是代码:
namespace Class
{
public partial class Login : PhoneApplicationPage
{
public static bool is_verifying = false;
public Login()
{
InitializeComponent();
}
private void login_button_Click(object sender, RoutedEventArgs e)
{
//navigate to main page
NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.RelativeOrAbsolute));
}
private void show_help(object sender, EventArgs e)
{
is_verifying = true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想将Textboxes文本绑定到"is_verifying".
谢谢.
Kev*_*lia 15
首先,您只能绑定到属性,因此您需要添加一个getter和setter.
public static bool is_verifying { get; set; }
Run Code Online (Sandbox Code Playgroud)
接下来,您可以在DataContext此处将表单设置为您的类,并使用简单的绑定:
"{Binding is_verifying}"
Run Code Online (Sandbox Code Playgroud)
或者在表单的资源中创建对类的引用,并像这样引用它:
<Window.Resources>
<local:Login x:Key="LoginForm"/>
</Window.Resources>
...
<TextBox Text="{Binding Source={StaticResource LoginForm}, Path=is_verifying}"/>
Run Code Online (Sandbox Code Playgroud)
您无法绑定到字段,您需要将其设为属性,并且仍然不会通知您更改,除非您实现某种通知机制,这可以通过例如实现来实现INotifyPropertyChanged通过该财产 a DependencyProperty.
当您拥有房产时,通常可以使用x:Static标记扩展来绑定到它。
但是绑定到静态属性需要一些技巧,这些技巧可能不适用于您的情况,因为它们需要创建类的虚拟实例或使其成为单例。另外我认为至少在 Windows Phone 7 中x:Static是不可用的。因此,您可能需要考虑将该属性设置为实例属性,也许在单独的 ViewModel 上,然后您可以将其设置为DataContext.
| 归档时间: |
|
| 查看次数: |
11061 次 |
| 最近记录: |