C# 数据绑定没有错误,但无法查看绑定的输出
我正在尝试学习WPF,我被最初的绑定示例困住了我想查看代码中属性文本框中的文本。我看到了一些相关问题,并尝试了他们的答案,但不幸的是,没有一个符合我的需要。此外,如果有人能告诉我一些很好的教程,从基础到高级。我正在看msdn教程,但我发现它们非常复杂(或文本太多),使事情变得更加复杂 MainWindow.xaml.csC# 数据绑定没有错误,但无法查看绑定的输出,c#,wpf,xaml,C#,Wpf,Xaml,我正在尝试学习WPF,我被最初的绑定示例困住了我想查看代码中属性文本框中的文本。我看到了一些相关问题,并尝试了他们的答案,但不幸的是,没有一个符合我的需要。此外,如果有人能告诉我一些很好的教程,从基础到高级。我正在看msdn教程,但我发现它们非常复杂(或文本太多),使事情变得更加复杂 MainWindow.xaml.cs namespace WpfApplication1 { public partial class MainWindow : Window {
namespace WpfApplication1
{
public partial class MainWindow : Window
{
public string Name { get; set; }
public MainWindow()
{
Name = "Dummy";
InitializeComponent();
DataContext = this;
}
}
}
main window.xaml
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication1"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBox Text="{Binding Path=Name}"></TextBox>
</Grid>
</Window>
属性
Name
隐藏基类的Name
属性(Visual Studio会就此发出警告)。您正在设置新属性,而XAML中的绑定使用基类属性
请选择其他属性名称:
public string MyName { get; set; }
public MainWindow()
{
MyName = "Dummy";
InitializeComponent();
DataContext = this;
}
XAML:
要解决此问题,请创建一个新类:
public class MainWindowViewModel
{
public string Name { get; set; }
public MainWindowViewModel()
{
Name = "Dummy";
}
}
并将后面的代码更改为:
public MainWindow()
{
DataContext = new MainWindowViewModel();
InitializeComponent();
}
那么它应该会起作用
搜索MVVM时,您可以在Youtube上找到教程。下一步是使用视图模型类,如另一个答案所示。是的,这也有效,但我只能将其中一个标记为答案,我没有足够的分数投票给您。谢谢你的回复!没问题:-)我很高兴能帮助你
public MainWindow()
{
DataContext = new MainWindowViewModel();
InitializeComponent();
}