0

WPF を使い始めたばかりですが、バインディングが機能しません。
アプリケーションを起動すると、画面が空白になります。

これは私の XAML です

<Window x:Class="HelloWPF.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">
<Grid>
    <ContentControl Content="{Binding PersonOne}" Width="auto" Height="auto" >
        <ContentControl.ContentTemplate>
            <DataTemplate>
                <StackPanel>
                    <TextBlock Text="{Binding FirstName}" FontSize="15" />
                    <TextBlock Text="{Binding Age}" FontSize="12" />
                </StackPanel>
            </DataTemplate>
        </ContentControl.ContentTemplate>
    </ContentControl>
</Grid>

これはコードです:

public partial class MainWindow : Window
{
    public Person PersonOne;
    public MainWindow()
    {
        InitializeComponent();

        PersonOne = new Person();
        PersonOne.Gender = Gender.Female;
        PersonOne.Age = 24;
        PersonOne.FirstName = "Jane";
        PersonOne.LastName = "Joe";

        this.DataContext = this;
    }
}

そして、これは人のクラスです

public class Person
{
    public string LastName { get; set; }
    public string FirstName { get; set; }

    public int Age { get; set; }
    public Gender Gender { get; set; }
}

public enum Gender
{
    Male, 
    Female
}

私は何を間違っていますか?

4

1 に答える 1

2

フィールドにバインドすることはできず、プロパティのみにバインドできるため、次のように変更します。

public Person PersonOne;

これに:

public Person PersonOne {get;set;}

ところで、ウィンドウ自体にデータを配置するのではなく、おそらく ViewModel を作成する必要があります。

于 2013-08-22T15:24:51.777 に答える