我是一名 C++ 开发人员,最近转向 C#。现在我正在处理我的 WPF 应用程序中的一个文本框,我需要在其中设置文本框的测试。这是代码:
XAML:
<TextBox Name="Data11" MaxLength="2" Grid.Column="0" Text="{Binding Data11}" />
<TextBox Name="Data12" MaxLength="2" Grid.Column="1" Text="{Binding Data12}" />
视图模型类:
private string _Data11;
public string Data11
{
get
{
return _Data11;
}
set
{
_Data11 = value;
OnPropertyChanged("Data11");
}
}
// Description of Data12
private string _Data12;
public string Data12
{
get
{
return _Data12;
}
set
{
_Data12 = value;
OnPropertyChanged("Data12");
}
}
现在在这个文本框上我需要设置文本。基本上在我的 C++ 应用程序中,我做了如下操作:
m_matchData11->setText(String(String::toHexString((buffer+0), 1)), false);
m_matchData12->setText(String(String::toHexString((buffer+1+4), 1)), false);
如果您在上面注意到,ToHexString创建一个包含二进制数据块的十六进制转储的字符串。我尝试在我的 WPF 应用程序中执行此操作,如下所示:
Data11 = BitConverter.ToString(buffer, 1);
Data12 = BitConverter.ToString((buffer + 4), 1);
尽管第一个语句似乎工作正常,但第二个语句会引发以下错误:
Operator '+' cannot be applied to operands of type 'byte[]' and 'int'
我怎样才能实现它?:)