Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 数据绑定到类的问题?_C#_Xaml_Data Binding_Windows Phone - Fatal编程技术网

C# 数据绑定到类的问题?

C# 数据绑定到类的问题?,c#,xaml,data-binding,windows-phone,C#,Xaml,Data Binding,Windows Phone,我在将文本块数据绑定到另一个类中的自定义道具时遇到问题,我做错了什么 mainpage: public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { InitializeComponent(); InitializeLanguage(); } private void InitializeLang

我在将文本块数据绑定到另一个类中的自定义道具时遇到问题,我做错了什么

mainpage:

  public partial class MainPage : PhoneApplicationPage
{
    // Constructor
    public MainPage()
    {
        InitializeComponent();
        InitializeLanguage();

    }

    private void InitializeLanguage()
    {
        LanguageHelper lh = new LanguageHelper();

        // this.TitlePanel.DataContext = lh;
        txtTitle.DataContext = lh;
    }
}
数据绑定:

 <TextBlock x:Name="txtTitle" 
                   Text="{Binding homepage_subheading}" 
                   Style="{StaticResource PhoneTextNormalStyle}" 
                   Foreground="White"
                   Margin="12,0"/>

}

您没有属性,只有公共字段,数据绑定引擎只对属性起作用

因此,您需要更改您的课程:

public String homepage_subheading { get; set; }

如果您还想用属性更改通知UI,则您的
LanguageHelper
应该在您修改属性时实现并触发
PropertyChange
事件。

您应该声明一些依赖性属性或使用
INotifyPropertyChanged
,我想使用依赖性属性:

public class LanguageHelper : DependencyObject {
  public static DependencyProperty Hompage_subheadingProperty =  
  DependencyProperty.Register("Homepage_subheading", typeof(string), typeof(LanguageHelper));
  public String Homepage_subheading {
     get { return (string) GetValue(Homepage_subheadingProperty);}
     set { SetValue(Homepage_subheadingProperty, value);}
  }
}

请注意,关于
C#
中的命名约定,所有属性的首字母都应大写。

将字段更改为属性是否解决了问题?或者它仍然不起作用?很抱歉,几分钟后才能接受答案,谢谢你的帮助
public class LanguageHelper : DependencyObject {
  public static DependencyProperty Hompage_subheadingProperty =  
  DependencyProperty.Register("Homepage_subheading", typeof(string), typeof(LanguageHelper));
  public String Homepage_subheading {
     get { return (string) GetValue(Homepage_subheadingProperty);}
     set { SetValue(Homepage_subheadingProperty, value);}
  }
}