我正在构建一个即时消息应用程序,遇到了一个问题,即在绑定状态下不显示。这是我想添加的,我在“ContactCard”模型中创建了该应用程序。
基本上一切工作的权利,直到我添加了一个弹出窗口,打开时,你点击下拉项目“添加”在“联系人”菜单.
我知道问题出在绑定机制上,因为弹出窗口中显示了一些biding错误。
添加新联系人的逻辑是,在按下“添加联系人”弹出窗口中的“添加联系人”按钮时,会执行一个事件处理程序,该处理程序由以下代码组成:
public partial class AddContact : System.Windows.Window
{
public MainWindow mainWindow;
public AddContact()
{
InitializeComponent();
mainWindow = new MainWindow();
mainWindow.DataContext = this;
}
int st = 1;
private void AddNewContactBtn_Click(object sender, RoutedEventArgs e)
{
string username = this.contactUsername.Text;
string imageUrl = this.contactImageURL.Text;
ContactModel newContact = new ContactModel
{
Username = "Nixt",
ImageSource = "https://www.dictionary.com/e/wp-content/uploads/2018/04/Sid-the-Sloth-300x300.jpg",
Messages = new ObservableCollection<MessageModel>(new List<MessageModel> {
new MessageModel
{
FirstMessage = true,
ImageSource = $"https://www.dictionary.com/e/wp-content/uploads/2018/04/Sid-the-Sloth-300x300.jpg",
Message = $"Sporočilo {st + 1}",
Username = "Nixt",
UsernameColor = "Red"
} ,
new MessageModel
{
Username = "Nixt",
UsernameColor = "Red",
FirstMessage = false,
ImageSource = "https://www.dictionary.com/e/wp-content/uploads/2018/04/Sid-the-Sloth-300x300.jpg",
Message = $"Sporočilo {st + 2} ",
Time = DateTime.Now
},
new MessageModel
{
Username = "povodnikt",
UsernameColor = "#409AFF",
ImageSource = "https://imgur.com/FeMHSd6.jpg",
Message = $"Zdravo? {st + 3}",
Time = DateTime.Now
},
new MessageModel
{
Username = "povodnikt",
UsernameColor = "#409AFF",
ImageSource = "https://imgur.com/FeMHSd6.jpg",
Message = $"Adijo frend! {st}",
Time = DateTime.Now
}
})
};
mainWindow.AddNewContactToCollection(newContact);
}
}
在MainWindow.xaml.cs中添加新联系人到集合函数
public void AddNewContactToCollection(ContactModel newContact)
{
viewModel2.Contacts.Add(newContact);
}
它基本上工作之前没有弹出窗口,所以我尝试删除窗口,但由于我需要它这不是一个解决我的问题。
1条答案
按热度按时间06odsfpq1#
您可以在
AddContact
窗口中插入对MainWindow
现有示例的引用,而不是创建一个新示例:如果从
MainWindow
显示AddContact
窗口,只需如下示例化它: