0

単純にしようとしているのは、ユーザーがボタンをクリックすると、そのコンテンツがコーディングに従って変化することです。これがコードです。コード ビハインドと XAML バインディングの両方を試しました。しかし、それは機能していません。

<Button x:Name="Header" Content="{Binding listHeader}"  Click="HeaderClick"/>

private string listHeader;
public string ListHeader
{
    get { return listHeader; }
    set
    {
        listHeader = value;
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs("listHeader"));
        }
    }
}

public Calendar()
{
    this.selectedDate = DateTime.Now;
    this.ListHeader = selectedDate.ToString("MMMM");    
}

private void HeaderClick(object sender, RoutedEventArgs e)
{
    switch (StateOfList)
    {
        case StatesOfList.ListOfDates:
            {
                this.listHeader = selectedDate.Year.ToString();                    
                this.StateOfList = StatesOfList.ListOfMonths;
            }
            break;
        case StatesOfList.ListOfMonths:
            {

                this.FillList(ListDataTypes.Years);
                this.StateOfList = StatesOfList.ListOfYears;
            }
            break;
        case StatesOfList.ListOfYears:
            {

            }
            break;                
    }
}
4

1 に答える 1

1

コンテンツを変数名 (listHeader) ではなく、プロパティ名 (ListHeader) にバインドすることをお勧めします。したがって、コード内のこれら 2 行を変更してください。

<Button x:Name="Header" Content="{Binding ListHeader}"  Click="HeaderClick"/>

PropertyChanged(this, new PropertyChangedEventArgs("ListHeader"));
于 2013-07-22T04:39:17.687 に答える