gpt4 book ai didi

c# wpf 数据绑定(bind)没有发生。

转载 作者:太空宇宙 更新时间:2023-11-03 15:27:41 25 4
gpt4 key购买 nike

我对 C# WPF 有点陌生。我一直在遵循 MVVM 模式并且一切都已设置,我的代码似乎工作正常但我面临的问题是当我将数据绑定(bind)到 xaml 文件时,我从 get set 属性接收的数据但绑定(bind)似乎已经消失,因为没有数据显示在我的文本框上。检查我的代码。

/*************************xaml 代码************************ *************\

<UserControl x:Class="ILS.debugger.debuggermsg"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:serial="clr-namespace:ILS.VM.Serial_Monitor;assembly=ILS.VM"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<TextBox Text="{Binding Debugger_Recoreded}" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" Background="#FFEBD3D3">

</TextBox>
</Grid>
</UserControl>

/************************查看模型代码******************\

namespace ILS.VM.Serial_Monitor
{
public class serial : NotifyPropertyChanged
{
private string debuger_rec;
public string Debugger_Recoreded
{
get { return debuger_rec; }
set
{

if (this.debuger_rec == value)
return;

this.debuger_rec = value;
i--;
if (i == 0)
{
this.debuger_rec = String.Empty;

i = 1000;
}
this.InvokePropertyChanged("Debugger_Recoreded");

}

}

/************************型号******************\命名空间 ILS

 public void OnDebugger(String Receved_Data) //debug message monitor code
{
try
{

this.serialData.Debugger_Recoreded += " " + DateTime.Now + " " + Receved_Data + Environment.NewLine;
this.serialData.Debugger_Recoreded += Environment.NewLine;
}
catch (Exception e)
{
}
}

最佳答案

public class serial : INotifyPropertyChanged
{
private string debuger_rec;
public string Debugger_Recoreded
{
get { return debuger_rec; }
set
{

if (this.debuger_rec == value)
return;

this.debuger_rec = value;
i--;
if (i == 0)
{
this.debuger_rec = String.Empty;

i = 1000;
}
OnPropertyChanged("Debugger_Recoreded");

}


public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
}

同时设置 DataContext,在主窗口中输入以下行:

this.DataContext = serialData;

也可以使用模式方式绑定(bind)。

 <TextBox Text="{Binding Debugger_Recoreded,Mode="Towway"}" />

关于c# wpf 数据绑定(bind)没有发生。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34604727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com