Я изучаю WPF и исследую DataBinding. Я хочу посмотреть, как указать DataBinding в XAML, а не в C#, но не могу понять, что я делаю неправильно в приведенном ниже примере.Не могу получить DataBinding в XAML для работы
(Я знаю, что есть много таких вопросов, как это уже, но я прошел через все их, но не могу получить какие-либо предложения для работы).
<Window x:Class="DataBinding2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
x:Name="theMainWindow"
xmlns:local="clr-namespace:DataBinding2"
>
<StackPanel>
<WrapPanel Name="WrapPanel1" Orientation="Vertical" Margin="10" >
<!--// Tried this but get error: The type 'local:person2' was not found. -->
<WrapPanel.DataContext>
<local:person2 />
</WrapPanel.DataContext>
<TextBlock Text="{Binding Path=FirstName}"/>
</WrapPanel>
namespace DataBinding2
{
public partial class MainWindow : Window
{
public Person person2;
public MainWindow()
{
person2 = new Person()
{
FirstName = "Bob",
};
InitializeComponent();
// This works - but want to know what alternative is to do it in XAML
//WrapPanel1.DataContext = person2;
}
}
public class Person
{
public string FirstName { get; set; }
public int Age { get; set; }
}
Попробуйте обернуть ваш person2 в свойстве Person2 и ссылаться на него в XAML. WPF - это все свойства. –