【发布时间】:2022-01-06 08:02:48
【问题描述】:
所以我有一个项目,其中有一个 Web 浏览器元素,而进入该浏览器元素的东西是 HTML。这是可行的,但我还有一个文本框,我可以在其中编写数据和数据应用程序。我是这样试的。
在我的课堂上,我得到了这个属性,它有一个虚拟文本。
private string _textboxTop1;
public string TextboxTop13
{
get
{
_textboxTop1 = "Fujitsu";
return _textboxTop1;
}
set
{
_textboxTop1 = value;
NotifyPropertyChanged(nameof(TextboxTop13));
}
}
然后我得到了这个 ViewModel,其中我有这个属性。这个属性在最后给我的 Web 浏览器提供了完整的 HTML。我用这个从我的其他班级获得了数据:
Class.Top1 test = new Class.Top1();
这就是属性:
private string _html;
public string html1
{
get
{
return _html + test.TextboxTop13;
}
set
{
_html= value;
NotifyPropertyChanged(nameof(_html));
}
}
在我的网络浏览器上:
<WebBrowser Grid.Row="1" Grid.Column="1" local:BrowserBehavior.Html="{Binding html1, Mode=TwoWay}" />
我一开始尝试像这样添加新数据,但是当我创建断点时,值甚至发生了变化:
private void TextBox_KeyDown(object sender, KeyEventArgs e)
{
test.TextboxTop13 = "HHHHHHHHHHHHHHHHHHHHHHHHH";
}
【问题讨论】:
-
在 getter 中使用
_textboxTop1 = "Fujitsu";时,TextboxTop13 属性显然不会返回除"Fujitsu"之外的任何内容,无论您尝试设置什么值。不清楚你在这里问什么。 -
我试图在我的 Web 浏览器元素中加载预览 HTML 数据并使用文本框更改值。预览加载正在工作,但我无法将预览数据更改为我的 TextBox 的值。
-
不知道你想说什么。但是,赋值
_textboxTop1 = "Fujitsu";不属于属性 getter。您可能想要初始化属性的支持字段,例如private string _textboxTop1 = "Fujitsu"; -
为了简化这一点,我只想在 TextBox 中写入内容时更改此属性的数据。
-
在 Backing 字段中添加后,BreakPoint 中的属性正在更改,但使用后面代码中更改但 ViewModel 中未更改的新数据更改属性 Test_Textbox13 的数据
标签: wpf webbrowser-control viewmodel inotifypropertychanged